![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с фильтрациией по дате с помошью компонентов Halcyon...
Term © (2004-01-05 11:40:00)
Задаю варажение фильтра следующего вида:
Form1.IZNOS.Filter:="Period>="+Period.MaskEdit1.Text+" and Period<="+Period.MaskEdit1.Text;
и всегда получаю пустой набор данных, что не так поясните...
тон (2004-01-06 11:08:00) [1]
"(Period>="+Period.MaskEdit1.Text+") and (Period<="+Period.MaskEdit1.Text+")";
или так ...
Evyshka (2004-01-06 09:54:00) [2]
А по моему в хальконе в запросе дату надо указывать в фигурных скобках
cezar (2004-01-05 22:05:00) [3]
Я при работе с фильтрацией в Halcyon использовал функцию DBFDate.CTOD в модуле gs6_date
Term (2004-01-05 14:46:00) [4]
> Erik © (05.01.04 12:17) [13]
точно это наилучший вариант
Erik (2004-01-05 12:17:00) [5]
А почему нельзя использовать событие OnFilterRecord? И в нем проводить нужное сравнение.
Sandman25 (2004-01-05 12:10:00) [6]
[9] Term © (05.01.04 12:02)
Примеров использования фильтров по дате нет?
Информации о том, что это за ошибка (Two sides of operation do not math) тоже нет?
Попробуйте изменить regional settings на машине - установить / в качестве разделителя даты. В гриде отображение изменится? Экспериментируйте, ищите :)
Term (2004-01-05 12:02:00) [7]
> Значит компонент (или БД) ожидает другой форматы даты, а
> не с точками. Это может быть - или /. А может нужно месяц
> с днем обменять, а может еще и год переставить.
а в гриде отображается именно так...
JibSkeart (2004-01-05 12:02:00) [8]
JibSkeart © (05.01.04 11:55) [6]
по поводу этого я что то это типа загнался :)
Sandman25 (2004-01-05 12:02:00) [9]
Ищите ожидаемый формат. Документация по компоненту есть ведь, наверное.
Term (2004-01-05 12:00:00) [10]
это компонент прямого доступа к DBF, пришлось пользоваться им т.к. база клиперовская а стандартные делфовые компоненты не все индексы поддерживают
Sandman25 (2004-01-05 11:58:00) [11]
Значит компонент (или БД) ожидает другой форматы даты, а не с точками. Это может быть - или /. А может нужно месяц с днем обменять, а может еще и год переставить. Ищите.
А QuotedStr все равно понадобится.
JibSkeart (2004-01-05 11:55:00) [12]
Хмм посмотри Хелп
по поводу фильтра хотя не знаю что за компонет
такой , но по стандартному датасету, там что то написанно по поводу and ,or etc.
Term (2004-01-05 11:54:00) [13]
> Period>=4/1/2003 and Period<=5/1/2003?
почти
Period>=4.01.2003 and Period<=5.01.2003
так по другому то ругается я делал так как вы мне сказали(причом до того как задал вопрос), в результате вылетал эксепшен
Sandman25 (2004-01-05 11:51:00) [14]
но толку мало
И что Вы там увидели?
Period>=4/1/2003 and Period<=5/1/2003?
Term (2004-01-05 11:49:00) [15]
в том то и дело QuotedStr(Text) не подходит в этом случае
ругается "Two sides of operation do not math"
> Неужели не возникало мысли сделать ShowMessage(Form1.IZNOS.Filter)???
делал. но толку мало.
Sandman25 (2004-01-05 11:44:00) [16]
Неужели не возникало мысли сделать ShowMessage(Form1.IZNOS.Filter)???
Кстати, если данный код находится в методе TForm1.xxx, то лучше бы Form1 не писать. Особенно в OnCreate/OnShow
Sandman25 (2004-01-05 11:40:00) [17]
QuotedStr(Text)