Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Access-Abfrage per VBA in Excel importieren

Access-Abfrage per VBA in Excel importieren
25.09.2006 10:23:08
TOM
Guten Morgen zusammen
Ich möchte gerne eine Access-Abfrage in Excel importieren per VBA.
Wäre froh um einen Code ansatz.
Besten Dank und Gruss
TOM
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Access-Abfrage per VBA in Excel importieren
25.09.2006 11:34:21
Ingo
Hallo Tom, hier ein Beispiel wie ich dass mache. Dazu vorher im VBA-Editor unterbExtras-Verweise verweis auf die Microsoft DAO3.6 setzen.

Sub import()
Dim db As Database
Dim rs As Recordset
Dim rng As Range
Dim abfrage As String
Dim colpointer As Integer, rpwpointer As Integer
'Datenbankconnect
'Hier haben .xls und .mdb Datei  gleiche Pfadangabe:evt. anpassen
Set db = OpenDatabase(ThisWorkbook.Path & "\SDQArchiv.mdb")
'Abfrage
abfrage = "SELECT xyz,abc FROM Tabellexyz WHERE ..."
Set rs = db.OpenRecordset(abfarge, dbOpenSnapshot)
'Zielbereich
Set rng = Sheets("Deinsheet").[B2]
rs.MoveFirst
rowPointer = 0
Do While Not rs.EOF
For colpointer = o To rs.Fields.Count - 1
rng.Offset(rowPointer, colpointer) = rs.Fields(colpointer)
Next colpointer
rs.MoveNext
rowPointer = rowPointer + 1
Loop
rs.Close
db.Close
End Sub

mfG Ingo Christiansen
Anzeige
AW: Access-Abfrage per VBA in Excel importieren
25.09.2006 12:57:17
TOM
Hallo Ingo
Besten Dank für Deinen Codeansatz.
Wie muss ich den Code ändern bei abfrage="SELECT xyz,abc FROM..... für meine Abfrage?
So mit SQL-Code bin ich nicht so Sattelfest!
Besten Dank und Gruss
TOM
AW: Access-Abfrage per VBA in Excel importieren
25.09.2006 13:09:30
Ingo
Hi, Tom,
Du kannst Dir in Access den SQL-Code Deiner Abfrage ansehen und zwar in der Entwurfsansicht der Abfrage unter Ansicht / SQL-Ansicht
mfG
Ingo Christiansen
Anzeige
AW: Access-Abfrage per VBA in Excel importieren
25.09.2006 13:37:14
TOM
Hallo Ingo
Wenn ich das so mache wie Du beshrieben hast wir der Code rot und es kommt eine Fehlermeldung!!?
Gruss
TOM
AW: Access-Abfrage per VBA in Excel importieren
25.09.2006 17:34:00
apollo303
VBA kann denn SQL-Code nicht 1:1 verarbeiten. Du musst z.b. sämtliche Hochkommatas abändern...aus "" wird """" und aus "abc" wird ""abc""....und so weiter...musst einfach ein bisschen probieren
gruss
apollo303
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Access-Abfrage per VBA in Excel importieren


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Verweise setzen: Gehe zu Extras > Verweise und setze einen Haken bei Microsoft DAO 3.6 Object Library.

  3. Neues Modul erstellen: Klicke mit der rechten Maustaste auf VBAProject (DeineArbeitsmappe) und wähle Einfügen > Modul.

  4. Code einfügen: Kopiere den folgenden VBA-Code in das Modul:

    Sub import()
        Dim db As Database
        Dim rs As Recordset
        Dim rng As Range
        Dim abfrage As String
        Dim colpointer As Integer, rowPointer As Integer
    
        ' Datenbankconnect
        Set db = OpenDatabase(ThisWorkbook.Path & "\SDQArchiv.mdb")
    
        ' Abfrage
        abfrage = "SELECT xyz, abc FROM Tabellexyz WHERE ..."
        Set rs = db.OpenRecordset(abfrage, dbOpenSnapshot)
    
        ' Zielbereich
        Set rng = Sheets("Deinsheet").[B2]
        rs.MoveFirst
        rowPointer = 0
    
        Do While Not rs.EOF
            For colpointer = 0 To rs.Fields.Count - 1
                rng.Offset(rowPointer, colpointer) = rs.Fields(colpointer)
            Next colpointer
            rs.MoveNext
            rowPointer = rowPointer + 1
        Loop
    
        rs.Close
        db.Close
    End Sub
  5. SQL-Abfrage anpassen: Ändere die Zeile mit abfrage = "SELECT xyz, abc FROM ..." entsprechend Deiner Access-Abfrage.

  6. Code ausführen: Gehe zurück zu Excel, drücke ALT + F8, wähle import und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehlermeldung beim Ausführen des Codes: Überprüfe, ob der Pfad zur Access-Datenbank korrekt ist. Passe den Pfad in OpenDatabase an.
  • SQL-Code wird rot markiert: Stelle sicher, dass Du die Hochkommata in Deinem SQL-Code anpasst. Ändere 'abc' in ""abc"" und setze Hochkommata in doppelte Hochkommata ("").
  • Zielbereich nicht korrekt: Vergewissere Dich, dass der Zielbereich in der Excel-Tabelle korrekt definiert ist. Ändere Sheets("Deinsheet").[B2], falls nötig.

Alternative Methoden

Eine andere Möglichkeit, Daten aus Access in Excel zu importieren, ist die Verwendung der Access-Datenimportfunktion. Du kannst auch eine CSV-Datei exportieren und diese dann in Excel importieren. Verwende dazu Daten > Abrufen und Transformieren > Aus Datei > Aus Text/CSV.


Praktische Beispiele

  1. Einfaches Beispiel:

    abfrage = "SELECT Name, Alter FROM Kunden WHERE Stadt = 'Berlin'"
  2. Komplexere Abfrage:

    abfrage = "SELECT Produkte.Name, Bestellungen.Menge FROM Bestellungen INNER JOIN Produkte ON Bestellungen.ProduktID = Produkte.ID WHERE Bestellungen.Datum >= #01/01/2023#"

Diese Abfragen zeigen, wie Du spezifische Daten aus Deiner Access-Datenbank in Excel importieren kannst.


Tipps für Profis

  • Entwurfsansicht öffnen: Nutze die Entwurfsansicht in Access, um die SQL-Abfrage zu erstellen und zu testen, bevor Du sie in VBA verwendest.
  • Fehlerprotokollierung: Füge Fehlerbehandlungsroutinen in Deinen Code ein, um Probleme beim Import zu identifizieren und zu beheben.
  • Datenbankverbindung optimieren: Halte Deine Access-Datenbank und Excel-Datei im gleichen Verzeichnis, um Pfadprobleme zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich eine Access-Datenbank in Excel importieren?
Du kannst eine Access-Abfrage mit VBA importieren oder die Datenbank direkt über die Importfunktion in Excel einfügen.

2. Was ist die Entwurfsansicht in Access?
Die Entwurfsansicht ist eine Funktion in Access, die es Dir ermöglicht, Abfragen grafisch zu erstellen und SQL-Code zu generieren. Du kannst diese Ansicht über Ansicht > SQL-Ansicht erreichen.

3. Wie kann ich eine CSV-Datei aus Access importieren?
Du kannst die Exportieren-Funktion in Access nutzen, um die Daten als CSV-Datei zu speichern und anschließend in Excel zu importieren.

4. Gibt es spezielle Tastenkombinationen für Access?
Ja, die Tastenkombination ALT + F11 öffnet den VBA-Editor, und CTRL + G öffnet das Direktfenster.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige