2011-09-16 35 views
0

完整的錯誤消息:「[Microsoft] [ODBC Excel驅動程序] LEVEL子句包含保留的字或參數,拼寫錯誤或缺少,或標點符號不正確「這個錯誤是什麼意思? ([Microsoft] [ODBC Excel驅動程序] LEVEL子句包含一個保留字...)

我試圖在一個Excel文檔中針對另一個Excel文檔中的表執行查詢時出現此問題。我的SQL根本不包括LEVEL,我在Google上找不到任何有用的東西。

之前有人問:是的,我知道excel不是數據庫。我無法找到更好的方式從表單中獲取這些數據。

因爲我喜歡我的工作,所以我混淆了我的SQL;否則它包含公司機密數據。我確信我的語法對我所刪除的東西是正確的,因爲它是我寫的Microsoft Query。

SELECT `Table1$`.`Field1`, <Other Fields from Table1>, 
`Table2$`.`FieldA`, <Other Fields from Table2>, 
`Table3$`.`FieldX`, 
`Table3$`.`FieldY` 
FROM `<network path starting with \\>\<filename>.xlsb`.`Table1$` `Table1$`, 
`<network path starting with \\>\<filename>.xlsb`.`Table2$` `Table2$`, 
`<network path starting with \\>\<filename>.xlsb`.`Table3$` `Table3$` 
WHERE `Table2$`.`Join1Field` = `Table1$`.`Join1Field` 
AND `Table3$`.`Join2Field` = `Table1$`.`Join2Field` 
AND `Table1$`.`Weeks Ago` < 14; 

注:所有這些表都在同一個Excel文件,我使用Excel 2007中

+1

歡迎來到StackOverflow。當你發佈一個關於你無法識別的錯誤的問題時,改變諸如'<其他字段來自於''和<<以\\開頭的網絡路徑'這樣的東西使它無法幫助你。您已刪除可能是問題的內容。相反,嘗試列出實際的「其他字段」,僅匿名足以使其匿名的特定事物,並儘可能多地包含「<網絡路徑>」。由於你的問題特別提到了「保留字」,並且你刪除了一些「單詞」,我們該如何提供幫助? –

+0

圖片中是否有任何可能涉及「訪問級別」的登錄安全性?如果是這樣,請將標籤「訪問級別」更改爲沒有「級別」一詞且沒有空格的標籤。 (只是基於網絡搜索的猜測「LEVEL子句包含一個保留字」。) –

+0

當你的表別名時,你不需要使用「as」嗎? –

回答

0

根據this page on MSDN您輸入了一個有一個無效的保留字或不正確的標點符號的SQL語句。正如@Ken White指出的那樣,很難從編輯後的SQL中知道發生了什麼。

IIRC當您在MS Query中使用GUI工具時,它會寫入ODBC語法:可能在Excel末端轉換爲本機Access(ACE,Jet,whatever)語法時存在問題。如果您可以在沒有GUI工具的情況下編寫SQL,或者可以使用Access QBE來爲您做這件事,IIRC可以將本機Access SQL語法粘貼到MS Query的SQL窗口中,並且它將「不變」地傳遞給Excel。