Синтаксическая ошибка SQLite в запросе выбора объединения в MS-Access - PullRequest
0 голосов
/ 30 ноября 2011

В новой базе данных MS Access 2010 я связал две таблицы из базы данных SQLite, используя соединение ODBC. У меня есть следующий запрос объединения:

SELECT Calibration_Header.Gage_ID FROM Calibration_Header
UNION SELECT CHArchive.Gage_ID FROM CHArchive;

Если я выполню этот SQL для той же базы данных с помощью приложения командной строки sqlite3, он будет успешно запущен и вернет нужные данные. Когда я запускаю запрос в базе данных MS Access 2010, я получаю следующее сообщение об ошибке:

ODBC--call failed.

near "(": syntax error (1) (#1)

Другие запросы объединения для разных таблиц выдают одно и то же сообщение об ошибке при запуске в MS Access. При запуске в командной строке sqlite3 они запускаются успешно и возвращают правильные данные.

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Я понимаю, что это очень старая тема, но я только что столкнулся с этой проблемой и нашел довольно простое решение, поэтому подумал, что стоит поделиться им, если у кого-то еще есть проблема. Хотя Access, похоже, не может выполнить запрос UNION для двух связанных таблиц, если вы создадите сквозной запрос и добавите туда SQL для UNION, он работает нормально. Предположительно, SQL затем выполняется SQLite, и результаты возвращаются в виде одного набора результатов, а не самого Access, пытающегося применить UNION к двум отдельным наборам результатов.

Я не могу выполнить тестирование в более ранних версиях, но он работает в Access 2016.

0 голосов
/ 15 февраля 2012

Я подозреваю, что UNION SELECT не входит в стандартный доступ Access. Вы можете попробовать реализовать ANSI-92 в Access 2010, а затем выполнить свой запрос в виде кода, как описано Альбертом Каллалом в http://www.utteraccess.com/forum/Create-View-Access-t1924479.html&p=1924500#entry1924500.. Я использовал эти инструкции для успешного создания «представления» Access.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...