语法问题--如何使用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 不会给你很好的错误消息!