![]() |
|
|
![]()
|
|
| *^angel^* |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 5.3.2003 Где: Столица нашей нео бъятной Родины Репутация: нет Всего: нет |
Добрый день!
У меня проблема с созданием запроса для отчета, помогите плз. Paradox7, D6. мне нужно выводить все записи, в которых дата равна выбранной пользователем дате. в теле программы пишу: procedure TForm1.Button1Click(Sender: TObject); begin DateForReport := DateToStr(Form1.MonthCalendar1.Date); Form2.Query2.Active := False; Form2.Query2.SQL.Clear; Form2.Query2.SQL.Add('SELECT DateN, SumN, Code'); Form2.Query2.SQL.Add('FROM notes'); Form2.Query2.SQL.Add('WHERE DateN='+'''DateForReport'''); Form2.Query2.Active := True; Form2.QuickRep1.Preview; end; но выдается ошибка: Type mismatch in expression. и останавливает ся строке - Form2.QuickRep1.Preview; в чем ошибка? |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Так причем тут запрос - он-то нормально открывается. Проблема видно в самом QuickReport - какое-то из выражений, которое получаешь запросом не соответствует переменной для репортера. Вообще вопрос больше относится не к базам, а к Delphi. |
|||
|
||||
| *^angel^* |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 5.3.2003 Где: Столица нашей нео бъятной Родины Репутация: нет Всего: нет |
AntonSaburov да, но если я пишу запрос непосредственно в компоненте TQuery, а не в теле программы, то все работает, естественно выводит со всеми датами, отчет работает корректно.
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Тогда надо отлаживать и сравнивать - какой запрос сформирован перед Query1.Open. И выполнить именно этот запрос потом непосредственно. Вообщем, надо повозиться. Вполне может быть, что преобразование даты не совсем правильное. |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
УРА! Все получилось. :-)))))))))))
Дело было все-таки в запросе, точнее с этими апострофами (их количестве и месте проставления). Вот как надо: Form2.Query2.Active := False; Form2.Query2.SQL.Clear; Form2.Query2.SQL.Add('SELECT DateN, SumN, Code'); Form2.Query2.SQL.Add('FROM notes'); Form2.Query2.SQL.Add('WHERE DateN = '''+DateForReport+''''); Form2.Query2.Active := True; |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |