2011-11-30 59 views
0

在一個全新的MS Access 2010數據庫中,我使用ODBC連接將SQLite數據庫中的兩個錶鏈接起來。我有以下聯合查詢:SQLite中的SQLite語法錯誤從MS訪問中選擇查詢

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

如果我執行使用sqlite3的命令行應用程序針對同一數據庫此SQL,它成功運行並返回正確的數據。當我運行中的MS Access 2010數據庫查詢,我得到了以下錯誤消息:在MS Access運行時

ODBC--call failed. 

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

針對不同的表,其他聯合查詢得到同樣的錯誤消息。在sqlite3命令行中運行時,它們會成功運行並返回正確的數據。

+0

感謝您的信息。這是針對的前端數據庫將能夠使用Access或SQLite作爲後端數據庫,因此傳遞查詢將不理想。 – user1073718

+0

聯合查詢不是最終應用程序的標準解決方案。也許你可以多說一些你想做的事情,有人可能會提供一個側面的解決方案? – Fionnuala

+0

可以對記錄進行歸檔,將其從常規表中取出並放入歸檔表中。表單中的幾個組合框需要能夠查看所有記錄的Gage ID,而不是。聯合查詢是爲了驅動這些組合框。每次打開表單時,我都可以創建臨時表格,但這是我希望避免的開銷。 – user1073718

回答

0

我懷疑UNION SELECT不在標準的Access語言中。您可以嘗試在Access 2010中實現ANSI-92,然後將代碼作爲代碼運行,如Albert Kallal在http://www.utteraccess.com/forum/Create-View-Access-t1924479.html&p=1924500#entry1924500中所述。我使用這些說明來成功創建Access「視圖」。

+0

UNION SELECT是標準Access。那裏沒有問題。我認爲問題在於Access在處理到源表的外部鏈接時使用Union時遇到了問題。在這種情況下,OP的'歸檔表'(或者我稱之爲登臺表)的想法會更好。 – PowerUser