Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Глюки фильтра TClientDataSet [D6, Paradox]


DelphiN! ©   (2004-11-04 16:25:00) 

Никто никогда не замечал что TClientDataSet.Filter глючит?

Ото я составляю правильный фильтр, а результаты мне выдаються неправильные! Фильтр составляю типа:
"(DATE >= 01,01,2004 and DATE <= 01,01,2010) and (COMP >= 1 and COMP <= 999) and (SUMMA > 0) and (PERIOD >= 1 and PERIOD <= 999)"

Данные такого типа(подходящие под данное условие) в таблице 100% есть, но фильтр показывает мне что таких данных нет

В чем дело?


Anatoly Podgoretsky   (2004-11-06 08:13:00) [1]

sniknik ©   (04.11.04 16:38) [1]
А кто же еще :-)


DelphiN!   (2004-11-06 06:51:00) [2]

Всем огромное спасибо за помошь!


Rem   (2004-11-05 16:52:00) [3]

>>У меня есть поле типа tDateTime

var
 Date1: TDateTime;
 Date2: TDateTime;

'DATE>=' + IntToStr(Trunc(Date1)) + ' AND DATE<=' + IntToStr(Trunc(Date2))


sniknik   (2004-11-05 16:14:00) [4]

'01.01.2004' со временем '01.01.2004 23:00:000' (вроде бы так, если национальные настройки не повлияют) кавычки обязательны


DelphiN!   (2004-11-05 15:37:00) [5]

Все разобрался, оказывается проблемма была в том что у таблицы все поля были типа string, проставил все поля по типам и все OK, Кстати как в фильтр передавать дату. У меня есть поле типа tDateTime и я кидаю фильтр скажем такой: date > 01.01.2004 он мне говорит неправильный фильтр, пробовал и 23:00 01.01.2004 и 01,01,2004 и как только не пробовал, так как дату и время в фильтр передать?


sniknik   (2004-11-05 08:51:00) [6]

а проверить? чудес не бывает, у всего есть логическое обьяснение. (голословные заявления это не доказательство)


DelphiN!   (2004-11-05 08:30:00) [7]

>sniknik ©   (05.11.04 08:27) [11]

Остальные поля тоже по условию подходят все поля в столбцах COMP и PERIOD входят в диапазон от 1 до 999


sniknik   (2004-11-05 08:27:00) [8]

> По идее должны выводиться все поля таблицы, где сумма < 100.
по идее так и будет если исключить влияние остального и сделать только фильтр = SUMMA < 100


DelphiN!   (2004-11-05 08:09:00) [9]

Даже без указания даты в фильтре таблица фильтруется неправильно, например в таблице есть поля, в столбце summa, значения которых: 150,100,80,60,50,30,40,1. Я делаю фильтр : (COMP >= 1 and COMP <= 999) and (SUMMA < 100) and (PERIOD >= 1 and PERIOD <= 999)

По идее должны выводиться все поля таблицы, где сумма < 100. Такие значения как 80,60,50,30,40,1 подходят, но выводятся поля столбца summa, только со значениями 0 и 1, а поля со значениями 80,60,50,30,40 не выводятся!

Почему и что делать?


DelphiN!   (2004-11-05 06:27:00) [10]

>>Mike Kouzmine ©   (04.11.04 17:48) [5]
Какие числа перечислены, обычная дата как дата, как правильно тогда? Если написать в фильтре Date = 01,01,2004 то все работает ...

>Mike Kouzmine ©   (04.11.04 18:01) [8]
Не порекомендуешь ли ченить хорошее почитать?


Mike Kouzmine   (2004-11-04 18:01:00) [11]

DelphiN! Почитай про запросы с параметрами. Будет и надежнее, и быстрее чем с фильтрами.


Mike Kouzmine   (2004-11-04 17:55:00) [12]

Johnmen ©   (04.11.04 17:53) [6] Ну хочеться ему так..


Johnmen   (2004-11-04 17:53:00) [13]

>Mike Kouzmine ©   (04.11.04 17:48) [5]
>01 01 2004

Что за инвентарный номер ?
:)


Mike Kouzmine   (2004-11-04 17:48:00) [14]

Johnmen ©   (04.11.04 17:37) [4] 01 01 2004


Johnmen   (2004-11-04 17:37:00) [15]

>01,01,2004

Что за числа перечислены ?


DelphiN!   (2004-11-04 16:50:00) [16]

sniknik ©   (04.11.04 16:38) [1]
А что неправильно в (DATE >= 01,01,2004 and DATE <= 01,01,2010)
?


Silver Alex   (2004-11-04 16:43:00) [17]

используй лучше OnFilterRecord


sniknik   (2004-11-04 16:38:00) [18]

оччень правильный фильтр! ну прямо идеал.
(DATE >= 01,01,2004and DATE <= 01,01,2010)

и постоянно у тебя виноват - компонент/другой/ктото но не я...


Наверх

Титульная страница Поиск, карта сайта Написать письмо