2017-03-05 1 views
0

I 파일이 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 

Error when running the query

+0

마지막 열은 약간의 철자가 잘못되었습니다. – Parfait

답변

0

라인 'Specjalna'와 'Specialna'을 교체하십시오 :

& " [MyData$].[Specialna]" _ 
관련 문제