Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Глюки фильтра TClientDataSet   Найти похожие ветки 

 
DelphiN! ©   (2004-11-04 16:25) [0]

Никто никогда не замечал что 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% есть, но фильтр показывает мне что таких данных нет

В чем дело?


 
sniknik ©   (2004-11-04 16:38) [1]

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

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


 
Silver Alex ©   (2004-11-04 16:43) [2]

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


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

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


 
Johnmen ©   (2004-11-04 17:37) [4]

>01,01,2004

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


 
Mike Kouzmine ©   (2004-11-04 17:48) [5]

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


 
Johnmen ©   (2004-11-04 17:53) [6]

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

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


 
Mike Kouzmine ©   (2004-11-04 17:55) [7]

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


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

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


 
DelphiN! ©   (2004-11-05 06:27) [9]

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

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


 
DelphiN! ©   (2004-11-05 08:09) [10]

Даже без указания даты в фильтре таблица фильтруется неправильно, например в таблице есть поля, в столбце 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 не выводятся!

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


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

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


 
DelphiN! ©   (2004-11-05 08:30) [12]

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

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


 
sniknik ©   (2004-11-05 08:51) [13]

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


 
DelphiN! ©   (2004-11-05 15:37) [14]

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


 
sniknik ©   (2004-11-05 16:14) [15]

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


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

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

var
 Date1: TDateTime;
 Date2: TDateTime;

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


 
DelphiN! ©   (2004-11-06 06:51) [17]

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


 
Anatoly Podgoretsky ©   (2004-11-06 08:13) [18]

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



Страницы: 1 вся ветка

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.029 c
3-1099658985
Mamed
2004-11-05 15:49
2004.12.05
Acces OLE Object and delphi image


9-1091593569
Evgeniy_K
2004-08-04 08:26
2004.12.05
500Кб видеопамяти


1-1100685529
Lola
2004-11-17 12:58
2004.12.05
Вывести список файлов из папки, в имени которой есть побел


3-1099645317
Pavor
2004-11-05 12:01
2004.12.05
Как побороть "Directory is controlled by other .NET file"?


1-1100784445
msguns
2004-11-18 16:27
2004.12.05
вызов методов MDIChild из MDIForm