1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

Тема в разделе "Delphi - программирование", создана пользователем Experimentator, 22 апр 2011.

  1. Experimentator

    Репутация:
    0
    Регистрация:
    24 май 2008
    Сообщения:
    8
    Симпатии:
    0
    Всем привет!!!
    Есть такая проблема есть связанные таблицы, в главной талице находится личные данные пользователей включая email , а во второй дата завершения складирования товара на разных складах, как мне проврить во всей табице, если у кого то заканчивается срок хранения то программа автоматом отправляла бы письмо на ящик указанный в таблице1!!! :) :) :) :facepalm:
     
  2. V88

    V88 Well-Known Member

    Репутация:
    0
    Регистрация:
    22 окт 2008
    Сообщения:
    51
    Симпатии:
    0
    Сравнивай "Дату завершения" с текущей датой и все:
    SELECT Table1.Email
    FROM Table1 INNER JOIN Table2 ON Table1.Поле1=Table2.Поле1 //т.е пересечение таблиц
    WHERE (Table2.Дата_завершения>=DATE)


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

    V88 Well-Known Member

    Репутация:
    0
    Регистрация:
    22 окт 2008
    Сообщения:
    51
    Симпатии:
    0
    Если допустим надо предупредить пользователя заранее, то можно сделать так:

    Код:
    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;
    .......
     
  4. Experimentator

    Репутация:
    0
    Регистрация:
    24 май 2008
    Сообщения:
    8
    Симпатии:
    0
    Спасибо сейчас попробую!!!
     
Загрузка...

Поделиться этой страницей