使用VBA,Excel 2007和下面的connectionString:SQL語句中的多個列的Excel
"provider=Microsoft.ACE.OLEDB.12.0;Data Source=myFile.xlsx; Extended Properties=Excel 12.0"
我試圖執行下面的查詢SELECT [col1], [col2] FROM [Sheet1$] WHERE ([col1], [col2]) IN ((val1, val2), (val3, val4), (val5, val6))
唉,VBA錯誤指定它不不喜歡查詢表達式中的逗號。
是否有任何語法更改可以執行此查詢運行? 或另一個查詢會做同樣的事情?
下面是每個請求
Sub testQuery()
Dim conStr As String, sql As String
conStr = "provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\me\Desktop\QueryMe.xlsx; Extended Properties=Excel 12.0"
sql = "SELECT col1, col2 FROM [Sheet1$] WHERE (col1, col2) IN (('val1', 'val2'), ('val3', 'val4'), ('val5', 'val6'))"
Dim objCon As Object, objRS As Object
Set objCon = CreateObject("ADODB.Connection")
Set objRS = CreateObject("ADODB.RecordSet")
objCon.Open con
objRS.Open sql, con
objRS.Close
objCon.Close
End Sub
請發表您的實際代碼。 –
您是否試過在哪裏(col1 ='val1'和col2 ='val2')或(col1 ='val3'和col2 ='val4')和...? – zedfoxus
@zfus我沒有,謝謝。 – Greg