Проблема с одновременными запросами к базе
База MS Access, создаю первый запрос ADOQuery1 и получаю из него данные, выводимые на MasterData1.
Необходимо по каждой строчке из первого отчета создать график, построенный на другом отчете.
Добавляю ADOQuery2 и MasterData2. Когда в событии OnBeforePrint объекта MasterData2 вывожу значение из первого отчета <ADOQuery1."fieldname"> то все отображается нормально, как я и ожидал. Но если в этом обработчике сформировать второй отчет и запустить его ADOQuery2.Active = true то выдается сообщение об ошибке "Ошибочное или пропущенное зарезервированное слово или аргумент в функции SELECT или неверная пунктуация". Я вывел текст второго запроса в переменную и сохранил его. Вставив после этого запрос в конструкторе запросов Access я получил нормальный ответ безо всяких сообщений об ошибке. Вот пример такого запроса:
Необходимо по каждой строчке из первого отчета создать график, построенный на другом отчете.
Добавляю 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. Двойной проход в настройках отчета выставлял - не помогло. Подскажите как преодолеть эту ошибку (может каким-нибудь обходным путем).
Комментарии
Вот пример.