02.03.2006, 12:54 | #1 |
Участник
|
Фильтрация по полю типа DateTime
Добрый день.
В таблице есть поле типа datetime, в которое записываются дата и время совершения операции. Далее в отчете мне нужно анализировать это поле и накладывать на него фильтр. Если в качестве фильтра использовать значение, возвращаемое функцией CURRENTDATETIME, то все нормально. Но вот использовать мои значения (например, за определенный месяц или день) - не получается. Свои значения пробовал создавать с помощью функций CREATEDATETIME или DATI2VARIANT. Причем даже пробовал создавать их из значения CURRENTDATETIME: datetime_begin := CREATEDATETIME(TODAY,DT2TIME(CURRENTDATETIME)); datetime_begin := DATI2VARIANT(TODAY,DT2TIME(CURRENTDATETIME)); Если выводить значения в месседже на экран (с форматом), то они выводятся, а вот в таблице в качестве фильтра не работают. GETFILTERS показывает, что на таблицу не наложен фильтр (если ставить CURRENTDATETIME - фильтр показывается). Есть предположение, что время как-то по-другому надо задавать. Только как? Помогите, пожалуйста. Заранее спасибо. P.S. Может есть какой-то другой способ создания значения datetime? Последний раз редактировалось vel_vel; 02.03.2006 в 13:28. |
|
03.03.2006, 10:05 | #2 |
Участник
|
Ну, например:
SETFILTER(DateTimeField, '<%1', CREATEDATETIME(date_var, time_var)); или SETFILTER(DateTimeField, '<%1', datetime_var); и работает, вроде.. |
|
03.03.2006, 14:30 | #3 |
Участник
|
Видно вчера день какой-то странный был. Сегодня попробовал -все нормально фильтруется. А вариант, когда не фильтровалось, я уже потер.
Заодно разобрался как время вручную присваивать - значения от 000000Т до 235959Т (тоже тормозил, как задать). Спасибо. Последний раз редактировалось vel_vel; 03.03.2006 в 14:37. |
|