0
我在上有一个文件D:\ SampleData.xlsm包含许多带有列和标题的条目。我需要查询该文件中的MyData工作表中的特定列。当我使用@Parfait这里建议的方法:Excel VBA JET另一个工作簿的SQL查询
Excel manufacturing dashboard with vba
我得到的错误,如附加屏幕截图。我的目标是从名为Nazwa
,Detaliczna
,Specjalna
,其中Stan
单元格中的值为>= 1
的标头取出此文件列。
请任何人都可以提出一个解决方案?
Sub RunSQL()
On Error GoTo ErrHandle
Dim conn As Object, rst As Object
Dim strConnection As String, strSQL As String
Dim i As Integer, fld As Object
Set conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
' Hard code database location and name
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Data Source='D:\SampleData.xlsm';" _
& "Extended Properties=""Excel 8.0;HDR=YES;"";"
strSQL = " SELECT [MyData$].[Nazwa], [MyData$].[Detaliczna]," _
& " [MyData$].[Specialna]" _
& " FROM [MyData$]" _
& " WHERE [MyData$].[Stan] = 1;"
' Open the db connection
conn.Open strConnection
rst.Open strSQL, conn
' column headers
i = 0
Worksheets("Results").Range("A1").Activate
For Each fld In rst.Fields
ActiveCell.Offset(0, i) = fld.Name
i = i + 1
Next fld
' data rows
Worksheets("Results").Range("A2").CopyFromRecordset rst
rst.Close
conn.Close
MsgBox "Successfully ran SQL query!", vbInformation
Exit Sub
ErrHandle:
MsgBox Err.Number & " = " & Err.Description, vbCritical
Exit Sub
End Sub
最后一列是稍微拼错。 – Parfait