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

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

фильтр по датам в Access [D7, Access]


Страницы:   1 2

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- не функция, часом?


Страницы:   1 2

Наверх

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