Фильтр По Полю Типа Tdatatime

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
G

Guest

Здравствуйте!
Есть Access-овская база с обрабатываемой таблицей. В структуре записи присутствует поле с полным форматом даты, к примеру, 07-09-2012 13:30:35. Необходимо установить фильтр на ADOTable чисто по дате. Т.е. в таблице много записей за разные даты и каждая с полным набором часов, минут, секунд, милисекунд. Фильтр должен устанавливаться по указываемой дате. Как такое реализовать? Чтоб фильтр брался чисто по дате, а время отсекалось
 
Здравствуйте!
Есть Access-овская база с обрабатываемой таблицей. В структуре записи присутствует поле с полным форматом даты, к примеру, 07-09-2012 13:30:35. Необходимо установить фильтр на ADOTable чисто по дате. Т.е. в таблице много записей за разные даты и каждая с полным набором часов, минут, секунд, милисекунд. Фильтр должен устанавливаться по указываемой дате. Как такое реализовать? Чтоб фильтр брался чисто по дате, а время отсекалось
Не вижу проблем. Что мешает выбрать с нуля часов по 24:00 ? ;)
Таблица напрямую фильтруется? или через ADODataSet?
хотя собственно одинаково...
Код:
var
FieldName : AnsiString; // Имя поля по которому фильтруем
DateStart : AnsiString; // Начало дня
DateEnd  : AnsiString; // Конец дня
FilterStr : AnsiString;	// Итоговая строчка для фильтра
//....
begin
FieldName := 'MyDateTimeFileld';
DateStart := FormatDateTime('dd-mm-YYYY 00:00:00',DateTimePicker1.Date);
DateEnd  := FormatDateTime('dd-mm-YYYY 23:59:59',DateTimePicker1.Date);

FilterStr := FieldName + '>=' + DateStart + ' AND '+ FieldName + '<=' + DateEnd; 
//или так FilterStr := Format('%s>=%s AND %s<=%s',[FieldName,DateStart,FieldName,DateEnd]);

// вот такая строка получится "MyDateTimeFileld>=07-09-2012 00:00:00 AND MyDateTimeFileld<=07-09-2012 23:59:59"

ADOTable1.Filter := FilterStr; // применяем фильтр

{ если через ADODataSet

ADODataSet1.Filter := FilterStr;
ADODataSet1.Filtered := True; }
end;
 
может поможет...
это строка из query, для БД Postgres
order by (extract(mons from "cumple")), (extract(day from "cumple")),
не факт, что Access поймёт что-нибудь подобное, конечно...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!