语法问题--如何使用Excel中的Where子句从Worksheet中提取
Syntax problem--How to use Where clause within Excel for pulling from Worksheet
我想出了如何拉,但无法限制结果。
你如何使用 where 子句进行拉取。
请参阅显示名为 "Data"
的选项卡的 sheet 结构的图片
查看下面的代码以提取数据。
我正在尝试找出构成下面 strSQL 变量的正确语法。
这是我得到的:
! 运行-时间错误'-2147217904 (80040e10)':自动化错误
我的 sql 字符串通过手表 window 看起来像这样:
"SELECT * FROM [Data$A2:G1000] where [First]='JOHN'"
代码:
Sub SQL()
Dim cn As ADODB.Connection
Dim strFile As String
Dim strCon As String
Dim strSQL As String
Dim rs As ADODB.Recordset
strFile = ThisWorkbook.FullName
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open strCon
Dim temp As String
temp = Trim("G" + Trim(Str(1000)))
strSQL = "SELECT * FROM [Data$A2:" + Trim(temp) + "] where [First]='JOHN'"
rs.Open strSQL, cn
MsgBox rs.GetString
MsgBox "Data Loaded"
End Sub
big boo boo...我需要从 A1 开始并将标题包含在我的范围内。
这不是语法错误,但 vBA 不会给你很好的错误消息!
我想出了如何拉,但无法限制结果。 你如何使用 where 子句进行拉取。
请参阅显示名为 "Data"
的选项卡的 sheet 结构的图片查看下面的代码以提取数据。
我正在尝试找出构成下面 strSQL 变量的正确语法。
这是我得到的: ! 运行-时间错误'-2147217904 (80040e10)':自动化错误
我的 sql 字符串通过手表 window 看起来像这样: "SELECT * FROM [Data$A2:G1000] where [First]='JOHN'"
代码:
Sub SQL()
Dim cn As ADODB.Connection
Dim strFile As String
Dim strCon As String
Dim strSQL As String
Dim rs As ADODB.Recordset
strFile = ThisWorkbook.FullName
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open strCon
Dim temp As String
temp = Trim("G" + Trim(Str(1000)))
strSQL = "SELECT * FROM [Data$A2:" + Trim(temp) + "] where [First]='JOHN'"
rs.Open strSQL, cn
MsgBox rs.GetString
MsgBox "Data Loaded"
End Sub
big boo boo...我需要从 A1 开始并将标题包含在我的范围内。 这不是语法错误,但 vBA 不会给你很好的错误消息!