| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > SQL запрос с групировкой и условием выбора |
| Автор: Skodina 20.5.2010, 21:00 | ||
| добрый день. у меня есть база данных написаная в Access состоящая из нескольких таблиц(Продажи, Товар, Магазины, Секции) пользователь выбирает магазин, товар и период за который были проведены продажи нужно вывести отчет по продажам за период по определенному магазину и определенному товару я написала вот такой код
выдает такую ошибку ![]() что не так делаю? |
| Автор: Rodman 20.5.2010, 21:48 |
| дочитай до конца запрос в ошибке... там даты нет. а значит сравнивать не с чем! |
| Автор: Skodina 21.5.2010, 09:56 |
| Исправила, теперь стоит другая проблема дата у меня передается с точками(пример: 01.04.2010) почему-то программа на это ругается :( если я пишу вот так 01/04/2010, то все нормально работает, но у меня дата в базе данных именно с точкой :( как можно запрограммировать чтобы не менять 1000 дат в базе данных? |
| Автор: Skodina 21.5.2010, 14:19 |
| morpheyushka если честно, то не поняла как а можно по подробнее объяснить? |
| Автор: morpheyushka 21.5.2010, 15:44 | ||||||
так не совпадает формат времени:
Но если записать так, то все будет нормально:
тут DatePlace - переменная в БД типа DateTime, DatePlc - параметр, который я потом задаю тут - ADOQuery1.Parameters.ParamByName('DatePlc').Value := Now(); параметр можно обозвать как угодно. Параметр в запросе пишется как :ParamName, в нашем случае - :DatePlc Не знаю как в Access, но в MS SQL если я не знаю формата и нужно передать дату в виде строки, то я формирую строку в таком формате - в MS SQL работает. Формат должен быть такой: YYYYMMDD без точек и всего остального |
| Автор: Skodina 21.5.2010, 17:41 |
| что-то я совсем не поняла ничего |
| Автор: Данкинг 21.5.2010, 17:48 | ||
Нужное значение содержится в переменной, например :DatePlc (именно так, с двоеточием перед переменной). Значение же этому параметру передаётся так:
|
| Автор: Skodina 21.5.2010, 17:54 |
| все, спасибо, разобралась |