Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Проблема с фильтрацией по дате


Автор: Chechaco 31.10.2005, 04:20
Здравствуйте, проблема такая: мне нужно отфильтровать таблицу по полю с датой, Необходимую дату я беру из DateTimePicker в формате 31.10.2005. Пишу следующую строку:
Table1.Filter := 'FieldDate = ' + DateToStr(DateTimePicker1.Date);
На что мне выдается нецензурный ответ, мол используется неправильный символ '.' (точка).
В умной книжке вычитал что именно так и нужно писать,но почему-то не срабатывает.
Если написать в Edit выражение вида FieldDate = 31.10.2005, а затем Table1.Filter := Edit1.Text то проходит на ура. Видимо результат DateToStr(DateTimePicker1.Date) все таки не воспринимается как текст.
Объясните пожалуйста, в чем моя ошибка, или есть ли какие-либо другие пути решения?

Автор: Albinos_x 31.10.2005, 06:18
код в студию...

Автор: Chechaco 31.10.2005, 06:37
Не надо кода, функция QuotedStr() решила проблему, то есть выражение получилось такое:
Table2.Filter := 'FieldDate = ' + QuotedStr(DateToStr(DateTimePicker1.Date));
Как я и предполагал фильтр не воспринимает результат функции DateToStr(DateTimePicker1.Date) как текст, так как нет кавычек.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)