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

Forumthread: VBA Skript Import Export Access Datenbank

VBA Skript Import Export Access Datenbank
23.06.2016 15:36:10
TD
Liebes Forum,
Ich suche verzweifelt nach einer Möglichkeit wie ich eine Access Datenbank beim Starten der XLS datei automatisch in eine Tabelle einlesen kann, diese will ich dann Bearbeiten und über ein weiteres Makro einfach in der Datenbank überschreiben können.
Ich bin leider noch ein ziemlicher Neuling und habe keine ahnung wie

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Skript Import Export Access Datenbank
23.06.2016 18:50:48
ChrisL
Hi
Zum Titel und Teil 1 der Frage:
https://www.youtube.com/watch?v=ym-M7-f7JFI
Habe mir das Video nicht vollständig angesehen, aber eine einfache Datenverbindung dürfte reichen.
Für Teil 2 (nach Access Datenbank zurück schreiben) müsstest du dir ein anderes Video suchen :)
Ist sicherlich machbar aber als VBA Einsteiger Übung finde ich es eher ungeeignet. Irgendwie sowas:
https://www.herber.de/forum/archiv/1220to1224/1222426_Daten_aus_Excel_in_Accesstabelle_schreiben.html
Oder du beschäftigst dich ein wenig mit der Sprache "SQL", was primär nichts mit Excel zu tun hat. Lässt sich aber in Excel resp. in Zusammenhang mit Datenverbindungen anwenden.
Die obligate Sinnfrage:
Warum nicht ganz in Access (z.B. Eingabemaske erstellen) oder ganz in Excel?
cu
Chris

Anzeige
AW: VBA Skript Import Export Access Datenbank
24.06.2016 07:15:21
TD
Danke für den Link, ich weiß dass das als einsteiger relativ schlecht ist, aber ich mache es ja nicht weil ich es machen will, sondern weil ich es muss. das ist das problem
;
Anzeige
Anzeige

Infobox / Tutorial

VBA Skript für den Import und Export von Access-Datenbanken in Excel


Schritt-für-Schritt-Anleitung

Um eine Access-Datenbank in Excel zu importieren und später wieder zu exportieren, kannst du die folgenden Schritte ausführen:

  1. Deine Excel-Datei vorbereiten:

    • Öffne Excel und erstelle eine neue Datei oder verwende eine bestehende.
  2. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Modul hinzufügen:

    • Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  4. VBA-Code zum Importieren der Access-Datenbank:

    • Füge den folgenden Code in das Modul ein:
    Sub ImportAccessData()
       Dim conn As Object
       Dim rs As Object
       Dim query As String
    
       ' Verbindung zur Access-Datenbank herstellen
       Set conn = CreateObject("ADODB.Connection")
       conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Pfad\zu\deiner\Datenbank.accdb;"
    
       ' SQL-Abfrage definieren
       query = "SELECT * FROM DeineTabelle"
    
       ' Recordset erstellen
       Set rs = CreateObject("ADODB.Recordset")
       rs.Open query, conn
    
       ' Daten in Excel einfügen
       Sheets("Tabelle1").Range("A1").CopyFromRecordset rs
    
       ' Objekte schließen
       rs.Close
       conn.Close
    End Sub
  5. Code zum Exportieren der Daten zurück in Access:

    • Füge den folgenden Code in dasselbe Modul ein:
    Sub ExportToAccess()
       Dim conn As Object
       Dim i As Integer
       Dim sql As String
    
       ' Verbindung zur Access-Datenbank herstellen
       Set conn = CreateObject("ADODB.Connection")
       conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Pfad\zu\deiner\Datenbank.accdb;"
    
       ' Daten aus Excel in die Access-Datenbank exportieren
       For i = 2 To Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
           sql = "INSERT INTO DeineTabelle (Feld1, Feld2) VALUES ('" & Sheets("Tabelle1").Cells(i, 1).Value & "', '" & Sheets("Tabelle1").Cells(i, 2).Value & "')"
           conn.Execute sql
       Next i
    
       ' Verbindung schließen
       conn.Close
    End Sub
  6. Makros ausführen:

    • Schließe den VBA-Editor und führe die Makros über Entwicklertools > Makros aus.

Häufige Fehler und Lösungen

  • Fehler: "Provider nicht gefunden"

    • Stelle sicher, dass die richtige Version des Access Database Engine installiert ist. Versuche, die 32-Bit- oder 64-Bit-Version entsprechend deiner Excel-Version zu verwenden.
  • Fehler: Datenbank nicht gefunden

    • Überprüfe den Pfad zur Access-Datenbank, um sicherzustellen, dass die Datei tatsächlich vorhanden ist.
  • Fehler: SQL-Syntaxfehler

    • Achte darauf, dass die SQL-Abfrage korrekt formuliert ist und die Feldnamen in der Datenbank stimmen.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du auch die Daten abrufen-Funktion in Excel nutzen:

  1. Gehe zu Daten > Daten abrufen > Aus Datenbank > Aus Microsoft Access-Datenbank.
  2. Wähle die Access-Datei aus und importiere die gewünschten Tabellen.

Diese Methode ist besonders nützlich, wenn du regelmäßig Daten aktualisieren möchtest, ohne jedes Mal ein Makro ausführen zu müssen.


Praktische Beispiele

  • Import von CSV-Dateien in Access: Wenn du eine CSV-Datei in Access importieren möchtest, kannst du ein ähnliches VBA-Skript verwenden, um die Daten zu übertragen.

    DoCmd.TransferText acImportDelim, , "DeineTabelle", "C:\Pfad\zu\deiner\datei.csv", True
  • Eingabemaske in Access erstellen: Du kannst auch eine Eingabemaske in Access erstellen, um die Dateneingabe zu erleichtern. Dies kann durch den Access-Assistenten erfolgen.


Tipps für Profis

  • Nutze Fehlerbehandlungsroutinen in deinem VBA-Code, um unerwartete Fehler eleganter zu handhaben.
  • Dokumentiere deinen Code, um ihn für andere verständlicher zu machen.
  • Erstelle regelmäßige Backups deiner Access-Datenbank, bevor du Massenimporte durchführst.

FAQ: Häufige Fragen

1. Wie kann ich eine Access-Datenbank mit einer bestimmten Endung in Excel importieren? Du kannst die oben genannten Methoden verwenden, um Access-Datenbanken mit der Endung .accdb oder .mdb in Excel zu importieren.

2. Ist es möglich, Excel-Daten in eine Access-Datenbank ohne VBA zu exportieren? Ja, du kannst die Daten abrufen-Funktion in Excel verwenden, um Daten zu importieren oder zu exportieren, ohne VBA verwenden zu müssen.

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