【发布时间】:2023-03-22 19:57:01
【问题描述】:
在一个全新的 MS Access 2010 数据库中,我使用 ODBC 连接从 SQLite 数据库链接到两个表。我有以下联合查询:
SELECT Calibration_Header.Gage_ID FROM Calibration_Header
UNION SELECT CHArchive.Gage_ID FROM CHArchive;
如果我使用 sqlite3 命令行应用程序对同一个数据库执行此 SQL,它会成功运行并返回正确的数据。当我在 MS Access 2010 数据库中运行查询时,我收到以下错误消息:
ODBC--call failed.
near "(": syntax error (1) (#1)
针对不同表的其他联合查询在 MS Access 中运行时会收到相同的错误消息。在 sqlite3 命令行中运行时,它们运行成功并返回正确的数据。
【问题讨论】:
-
感谢您的信息。这针对的前端数据库将能够使用 Access 或 SQLite 作为后端数据库,因此传递查询并不理想。
-
联合查询不是最终应用程序的标准解决方案。也许你可以多说一点你想做的事情,有人可能会提供横向解决方案?
-
记录可以存档,这会将它们从常规表中取出并放入存档表中。表单中的多个组合框需要能够查看所有记录的量具 ID,无论是存档的还是未存档的。联合查询是驱动那些组合框。我可以创建每次打开表单时都会填写的临时表,但这是我希望避免的开销。