![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
фильтр по датам в Access [D7, Access]
Strech © (2006-09-05 02:59:00)Помогите сделать фильтр по датам в Access. Даты передаю в запрос через параметры. Рузультат выборки удручает.
Запрос:
select * from sales
where (date >= :StartDate and date <= :EndDate)
параметры имеют тип ftDateTime
если даты 01.08.2006 и 30.08.2006 все работает, выборка правильная
если даты 01.08.2006 и 04.09.2006 пустой запрос
Strech (2006-09-06 15:19:00) [21]2 sniknik © (06.09.06 09:14) [7]
ты к чему весь этот пост написал? Типа сумничать хотел - у тебя это получилось. Лучше бы дельный совет дал.
Прочти еще раз вопрос, так как в руководстве написано не работает, поэтому за помощью и обратился.
Параметры в строки преобразуются не по моей воле, а по воле программистов писавших компоненты ADO. Как они преобразуются я не знаю. Если ты мне объяснишь - буду признателен.
Если кто-то это реализовал, значит у него были такие же проблемы и он их решил, мог бы поделиться инфой как это сделать.
Запрос в конечном итоге получается не такой, как он мной написан, а такой, который получился в результате тех самых преобразований. А какой он получился мне бы и хотелось увидеть. Может это дало бы мне возможность понять алгоритм преобразования и справиться с проблемой.
Сейчас мне проще вопреки советам не пользоваться параметрами, а составлять запрос самому, а хотелось бы сделать грамотно.
sniknik (2006-09-06 09:14:00) [22]> а строки туда и не получается запихать, они имеют тип ftDateTime
> очень похоже что переданные даты в конечном итоге преобразуются в строки,
сами не преобразуются, только по воле програмиста...
> вот только день с месяцем местами меняются.
да, у конвертора движка, есть такая "фича" если строка(число/дату он туда-обратно не преобразует) с датой ошибочна то он все одно пытается ее преобразовать пользуясь другими доступными настройками локализации. (лучше бы возвращал ошибку...)
> все советуют с параметрами работать,
правильно советуют
> а хоть кто-нибудь это реализовал?
нет блин, ты единственный на всей планете кому такая глупая мысль голову пришла (это же подумать только, писать так, как рекомендуют в руководстве, нонсенс! как же без наших любимых извращений? ;о)))
> хотелось бы увидеть что за запрос в конечном итоге получается?
а ты разве его не сам пишеш? в итоге такой и остается как написан... (ну только на место дельфевских обозначений параметров вставлены вопросы, в соответствии со стандартом (мелкософтским ?). и кстати любой монитор тут тебя "обманет" сделает визуализацию с подстановкой в удобной для человека текстовой форме...)
Strech (2006-09-06 05:47:00) [23]а есть что-нибудь типа монитора запросов для access? хотелось бы увидеть что за запрос в конечном итоге получается?
Strech (2006-09-06 05:44:00) [24]
> date - не функция, часом?
была такая мысль, уточнил sales.date - не помогает
> и нехрена в параметры строки пихать...
а строки туда и не получается запихать, они имеют тип ftDateTime
очень похоже что переданные даты в конечном итоге преобразуются в строки, вот только день с месяцем местами меняются.
вопросов по этому форуму с такой же проблемой море, все советуют с параметрами работать, а хоть кто-нибудь это реализовал?
Fay (2006-09-05 08:30:00) [25]> и нехрена в параметры строки пихать...
Блин, мне такая хрень даже в голову не пришла!
А я сижу, думаю... Будь date функцией (я не знаю Access), да хоть процедурой Ж:) это не объясняет указанное поведение.
sniknik (2006-09-05 08:25:00) [26]> Даты передаю в запрос через параметры.
и нехрена в параметры строки пихать...
Fay (2006-09-05 07:07:00) [27]попробуй
select * from sales
where ( [date ]>= :StartDate and date <= :EndDate)
Fay (2006-09-05 07:06:00) [28]date- не функция, часом?