我有一個目前正在工作的odbc查詢表,但我需要通過單元格D18中的值定義從數據庫選擇的字段。Excel VBA查詢表屬性
下面的代碼應該替換查詢表屬性中的命令文本,但它不起作用。 debug表示「下標超出範圍」。如果我在即時窗口中調試並運行文本,然後在SQL中運行此結果文本行,它將返回正確的值,因此sql語句是正確的。我有什麼錯在VBA語法
Sub Accrual()
Text = "SELECT "
Text = Text & "BALANCE.CDTLED_" & Range("D11").Value - 1 & " "
Text = Text & "FROM x3sov.SOVEX.BALANCE BALANCE "
Text = Text & "WHERE (BALANCE.ACC_0='2109') AND (BALANCE.FCY_0='S01')"
Sheets("Control").QueryTables(1).CommandText = Text
End Sub
大加讚賞
您是否將QueryTable範圍轉換爲ListObject又名Excel表? – 2014-10-31 20:38:35
沒有。我用Data->從其他來源 - > MS查詢並返回數據作爲表。然後我刪除標題,以便將值顯示在單個單元格中。但它仍然是一張表格,我可以右擊並刷新 – jfly62 2014-10-31 20:44:47
因此,您可能需要編輯「連接」對象的「CommandText」。 – 2014-10-31 20:47:00