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