我想出了如何拉动,但无法限制结果。你如何使用where子句。
查看显示我的工作表结构的图片,其中包含一个名为“数据”
请参阅下面的代码来提取数据。
我试图找出用于编写下面的strSQL变量的正确语法。
这是我得到的:!运行时错误'-2147217904(80040e10)':自动化错误
我的sql字符串通过监视窗口显示如下:“SELECT * FROM [Data $ A2:G1000]其中[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
大嘘......我需要从A1开始,并在我的范围内包括标题。这不是语法错误,但vBA不会给你非常好的错误消息!