Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 4
  • 446

Przeczytałem:

https://msdn.microsoft.com/en-us/library/office/ff837764.aspx?f=255&MSPPError=-2147217396.

Chciałbym zapytać o prosty przykład zapytania (nie ACE SQL, bez użycia nowych funkcji MS Office 2013...), przykład prostego zapytania SQL wykonany za pomocą VBA, przy użyciu MS Query na tablicach w tym samym arkuszu.

Ciekaw jestem zarówno możliwości zwrócenia danych w postaci QueryTable, jak i w postaci Pivota. Chciałbym również zapytać, czy istnieje znana Państwu literatura na ten temat.

Z góry dziękuję za wszelkie wskazówki.

Jacek_Kotowski
  • Zapytał
  • @ Jacek_Kotowski | 19.06.2015
    • lider
    • laureat
    • ekspert
    • 60
    • 54
    • 94

Odpowiedź (1)

  • 0

Bardzo proszę:

Sub MSQuery()
    Dim kwMSQ As QueryTable
    Dim Ark_kwMSQ As Worksheet
    Set Ark_kwMSQ = Sheets.Add()
    Const CONN As String = _
        "ODBC;DSN=Pliki programu Excel;DBQ=C:\EX04\MS Query VBA.xls;" & _
        "DefaultDir=C:\EX04;DriverId=790;MaxBufferSize=2048;PageTimeout=5;"
    Set kwMSQ = Ark_kwMSQ.QueryTables.Add(CONN, Ark_kwMSQ.Range("A1"))
    kwMSQ.CommandText = "SELECT * FROM `C:\EX04\MS Query VBA`.`Zakres`"
    kwMSQ.Name = "kw1"
    kwMSQ.FieldNames = True
    kwMSQ.BackgroundQuery = True
    kwMSQ.SaveData = True
    kwMSQ.Refresh False

    Set kwMSQ = Nothing
End Sub

"Zakres" to nazwany zakres danych.

  • Odpowiedział
  • @ | 17.07.2015
  • TRENER ALTKOM AKADEMII
Komentarze
Panie Dariuszu, spróbowałem, jednak pojawiło się okno Select Data Source. Gdy wskazuję, że jest to Machine Data Source, Excel files a następnie wskazuję plik, uzyskuję komunikat General ODBC Error (runtime -2147217842...) Jeśli robię to niepoprawnie, czy można poprawne ustawienia wkodować w CONN? Używam MS SQL 2014 i Office 2010.
Skomentował : @ Jacek_Kotowski ,20.07.2015
  • 60
  • 54
  • 94