связанные таблицы

#1
Всем привет!!!
Есть такая проблема есть связанные таблицы, в главной талице находится личные данные пользователей включая email , а во второй дата завершения складирования товара на разных складах, как мне проврить во всей табице, если у кого то заканчивается срок хранения то программа автоматом отправляла бы письмо на ящик указанный в таблице1!!! :) :) :) :facepalm:
 

V88

Well-Known Member
22.10.2008
51
0
#2
Сравнивай "Дату завершения" с текущей датой и все:
SELECT Table1.Email
FROM Table1 INNER JOIN Table2 ON Table1.Поле1=Table2.Поле1 //т.е пересечение таблиц
WHERE (Table2.Дата_завершения>=DATE)


А чтобы программы автоматически отправляла письмо, прикрепи эту проверку с какому-либо событию (напр., на создание формы или ее активацию)
 

V88

Well-Known Member
22.10.2008
51
0
#3
Если допустим надо предупредить пользователя заранее, то можно сделать так:

Код:
Query - это запрос объединяющий табл. Пользователи и Склад
QueryDatZavershenia - поле "Дата завершения"
QueryEmail- поле E-mail пользователя
N - это кол-во дней за сколько надо предупредить пользователя

.......
var
i,N:Integer;
dt:TDate;
begin
Query.First;
While not Query.eof do begin
i:=0;
dt:=QueryDatZavershenia.AsDateTime;
while dt<>Date do begin
dt:=dt+1;
i:=i+1;
end;

if i<=N then begin
//отправляем письмо на адрес QueryEmail.AsString и где i - это будет сколько дней осталось 
end;

QueryNext;
end;
.......