![]() |
|
|
#1
|
|||
|
|||
|
Имеется поле "Дата". Нужно написать в коде нечто подобное:
if 'текущая дата' -(минус) 'Дата' > 30 then Окажите пожалуйста посильную помощь, не могу додуматься... |
|
#2
|
||||
|
||||
|
Цитата:
Получить текущую дату - функция Date. Получить текущую дату и время - функция Now. Пример: Код:
if Date - Int(Table1.FieldByName('Дата').AsDateTime) > 30 then |
|
#3
|
|||
|
|||
|
Цитата:
Сделел так Код:
if Date - Int(datamodule3.ADOTable1.FieldByName('Дата').AsDateTime) > 25 thenИ получилось, что проверка условия выполняется только для первой строки таблицы, а нужно проверять всю таблицу. Подскажите где подкрутить? |
|
#4
|
||||
|
||||
|
Цитата:
Чтобы выполнить какое либо действие для всех записей таблицы, нужно по ним пройтись циклом. Пример: Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
datamodule3.ADOTable1.First; // Становимся на первую запись таблицы
while not datamodule3.ADOTable1.Eof do // Пока записи не закончились:
begin
if Date - Int(datamodule3.ADOTable1.FieldByName('Дата').AsDateTime) > 25 then
begin
Memo1.Lines.Add('Условие выполняется в записи №'+IntToStr(datamodule3.ADOTable1.RecNo));
end;
datamodule3.ADOTable1.Next; // Переходим к следующей записи таблицы
end;
end;p.s. Ну и конечно используя TADOQuery вместо TADOTable можно SQL-запросом сразу выбрать только удовлетворяющие условию записи. |