Текущий архив: 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.48 MB
Время: 0.037 c