当Range Column超出" Z"时,ADODB Recordset错误

时间:2018-01-17 06:32:36

标签: excel-vba adodb vba excel

我正在使用ADODB从已关闭的excel文件中获取数据。我在查询中使用Z列以外的列时出错。

Sub TestExcelWB()

Dim cn As Object
Dim szConnect As String
Dim SourceFile As String
Dim SourceSheet As String
Dim SourceRange As String
Dim rsData As Object



'-----For ADODB connection-----
SourceFile = ThisWorkbook.Path & "\ADO Test2.xlsm"

szConnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
        "Data Source=" & SourceFile & ";" & _
        "Extended Properties=""Excel 12.0;HDR=No"";"

Set cn = CreateObject("ADODB.Connection")
cn.Open szConnect
'---^^



'-----For Recordset-----
Set rsData = CreateObject("ADODB.Recordset")

SourceSheet = "Sheet1"
SourceRange = "Z1:AA10"
szSQL2 = "SELECT * FROM [" & SourceSheet$ & "$" & SourceRange$ & "];"

rsData.Open szSQL2, cn, 0, 1, 1
'---^^



cn.Close

End Sub

当我更改变量SourceRange =" A1:Z10"那就没有错误。这是提供商的限制吗?有办法解决这个问题吗?

0 个答案:

没有答案