Проблема с одновременными запросами к базе

отредактировано 22:26 Раздел: FastReport Studio
База MS Access, создаю первый запрос ADOQuery1 и получаю из него данные, выводимые на MasterData1.
Необходимо по каждой строчке из первого отчета создать график, построенный на другом отчете.
Добавляю ADOQuery2 и MasterData2. Когда в событии OnBeforePrint объекта MasterData2 вывожу значение из первого отчета <ADOQuery1."fieldname"> то все отображается нормально, как я и ожидал. Но если в этом обработчике сформировать второй отчет и запустить его ADOQuery2.Active = true то выдается сообщение об ошибке "Ошибочное или пропущенное зарезервированное слово или аргумент в функции SELECT или неверная пунктуация". Я вывел текст второго запроса в переменную и сохранил его. Вставив после этого запрос в конструкторе запросов Access я получил нормальный ответ безо всяких сообщений об ошибке. Вот пример такого запроса:
  SELECT hour, count(tick) as vsego FROM (SELECT DatePart("h",terminal.datetime) as hour, Terminal.ticket AS
  tick FROM Terminal INNER JOIN Services ON Services.ServiceID = Terminal.ServiceID WHERE (datetime
  Between "20100614" And "20100615" and GroupNo in (19,20,21,22,23,24))) GROUP BY Hour Order By Hour
Проблема явно не в запросе, но в чем мне пока-что не понятно. Возможно в каких-то внутренних ограничениях Access. Двойной проход в настройках отчета выставлял - не помогло. Подскажите как преодолеть эту ошибку (может каким-нибудь обходным путем).

Комментарии

  • отредактировано 22:26
    Попробуйте передавать дату через параметры.
    Вот пример.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.