2017-03-05 37 views
0

私はD:\ SampleData.xlsmにファイルがあり、列とヘッダーを含む多くのエントリが含まれています。私はMyDataワークシートから特定の列だけをクエリする必要があります。私はここに@Parfaitによって提案されたアプローチを使用していた場合:別のブックからExcel VBA JET SQLクエリ

Excel manufacturing dashboard with vba

を私は添付のスクリーンショットのようにエラーが出ます。私の目標は、NazwaDetalicznaSpecjalnaという名前のヘッダーでこのファイルの列をプルアップすることです。ここで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 

Error when running the query

+0

最終列は少しスペルミスれます。 – Parfait

答えて

0

ラインに 'Specjalna' で 'Specialna' を交換してみてください:

& " [MyData$].[Specialna]" _ 
関連する問題