我記得使用這樣的查詢之前爲我工作。但現在它給了我一個編譯錯誤。訪問查詢不起作用?
我想只得到第二個字段的前3個字符。
select field1, left(field2, 3) from table1;
我在做什麼錯?
我記得使用這樣的查詢之前爲我工作。但現在它給了我一個編譯錯誤。訪問查詢不起作用?
我想只得到第二個字段的前3個字符。
select field1, left(field2, 3) from table1;
我在做什麼錯?
您的SQL語句沒有任何問題。在字段名稱周圍的括號內,在語句結尾的分號,field2
以內的字符少於3個---這些在這裏都不是問題。
您的數據庫或您的機器和/或其Access安裝有問題。通常我會懷疑引用問題,因爲你的錯誤是一個典型的症狀。但是,在評論中,您表示引用是可以的。
創建一個新的空數據庫並將table1
導入它。在新數據庫中嘗試您的查詢。如果它在那裏工作,你知道這個問題僅限於原始數據庫。如果查詢在新數據庫中不起作用,請將數據庫複製到安裝了Access的另一臺計算機並在此處嘗試。如果它在另一臺機器上運行,但不是你的機器,...我希望有一些方法可以在不重新安裝Office的情況下修復原始機器。
舊數據庫中的東西是錯誤的。它在一個新的數據庫中工作。 – tksy 2009-09-15 08:05:27
嘗試把字段名在方括號
select field1, Left([field2], 3) from table1;
它仍然給編譯錯誤。在查詢表達式左([field2],3) 我不明白的是它早期工作正常 – tksy 2009-09-14 12:53:52
如果它在以前工作,檢查您的數據庫連接和表結構,以確保一切都保持完好。 – 2009-09-14 12:57:42
我看不出有什麼不對您的SQL,只要你的表名和列名是否正確。根據您的SQL編輯器或代碼,您可能需要從語句中刪除分號。
如果表格/列的不正確,他們會得到不同的錯誤,例如'沒有給出一個或多個必需參數的值。'我的錢在破碎的參考文獻上。 – onedaywhen 2009-09-14 14:52:54
請參閱此鏈接:
http://www.techonthenet.com/access/questions/compile_error.php
它說,你可以用離開的時候得到一個編譯錯誤(),如果你有一個破碎的參考。它還說如何解決它。
嗯,但我似乎沒有丟失任何引用 – tksy 2009-09-14 13:46:52
如果您在鍵盤上按Ctrl-G並在即時窗口中輸入「?Left(」123Text「,3)」並在按下ENTER後會發生什麼?如果您得到相同的編譯錯誤,那麼您的數據庫中有缺少的引用或編譯錯誤。
要解決此問題,在VBE窗口中,轉至DEBUG菜單並選擇第一個選項COMPILE [project name]。您可能會收到編譯錯誤的通知,它會引導您解決您需要解決的問題。
什麼數據類型是field2,並且當字段中少於三個字符時,LEFT會引發錯誤? – 2009-09-14 12:44:05
它的文本類型雖然它有數字 – tksy 2009-09-14 12:52:32
編譯錯誤說的是什麼? – MusiGenesis 2009-09-14 12:55:10