在 Excel 中使用带有 VBA 的 ADODB 查询 table 时出错
Error Querying a table using ADODB with VBA in Excel
我正在尝试使用 SQL 查询 Excel 中的 table(购买)。但是,当下面的脚本是 运行.
时出现错误
table地址变量产生 Purchases!$A$2:$F$1200,这是 table "Purchases".
的范围
生成的 SQL 查询是:
Select * From [Purchases!$A:$F00]
目前的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:$F00' is not a valid name.
Make sure that it does not include invalid characters or punctuation and that it is no too long.
我在错误中看到了撇号,但我不确定这是否是所引用的标点符号,或者如果是的话,如何去掉它。
谢谢!
以下代码应该有效:
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(False, False)
strSQL = "Select * From [" & tableAddress & "]"
rs.Open strSQL, cn
cn.Close
我正在尝试使用 SQL 查询 Excel 中的 table(购买)。但是,当下面的脚本是 运行.
时出现错误table地址变量产生 Purchases!$A$2:$F$1200,这是 table "Purchases".
的范围生成的 SQL 查询是:
Select * From [Purchases!$A:$F00]
目前的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:$F00' is not a valid name.
Make sure that it does not include invalid characters or punctuation and that it is no too long.
我在错误中看到了撇号,但我不确定这是否是所引用的标点符号,或者如果是的话,如何去掉它。
谢谢!
以下代码应该有效:
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(False, False)
strSQL = "Select * From [" & tableAddress & "]"
rs.Open strSQL, cn
cn.Close