我正在嘗試使用SQL在Excel中查詢表格(採購)。但是,下面的腳本運行時出現錯誤。錯誤在Excel中查詢使用ADODB與VBA的表格
該表地址變量產生購買!$ A $ 2:$ F $ 1200這是「購買」表的範圍。
所產生的SQL查詢:
Select * From [Purchases!$A$2:$F$1200]
當前VBA本身如下圖所示:
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL As String
Dim tableAddress As String
Set cn = New ADODB.Connection
cn.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & ActiveWorkbook.Path & Application.PathSeparator & ActiveWorkbook.Name
cn.Open
tableAddress = "Purchases!" & Range("Purchases").Address
strSQL = "Select * From [" & tableAddress & "]"
rs.Open strSQL, cn
cn.Close
然而,當執行我得到的錯誤如下...
[Microsoft][ODBC Excel Driver] 'Purchases!$A$2:$F$1200' is not a valid name.
Make sure that it does not include invalid characters or punctuation and that it is no too long.
我在錯誤中看到了撇號,但我不確定這是否是被引用的標點符號或如何擺脫如果是這樣的話。
謝謝!
你試過沒有'[]'? –
我有,在FROM子句中產生'語法錯誤'問題。我原本是這樣做的,但在看到ADODB其他說明中提到的那些內容後,添加了括號。 –
「ActiveWorkbook.Path&Application.PathSeparator&ActiveWorkbook.Name」如何?你確定'ActiveWorkbook'是你認爲的那個,它有一個'購買'選項卡嗎?還要嘗試在SQL語句中驗證完整文件路徑。 ' –