Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere Excel Dateien in Access übertragen

Mehrere Excel Dateien in Access übertragen
14.03.2016 22:47:46
Robi
Hallo zusammen,
ich habe mehrere Excel Dateien (ca. 20) in einem Ordner. Die Dateien sind jeweils gleich aufgebaut. Sie sind jeweils mehrere hunderttausend Zeilen groß.
Nun möchte ich diese Dateien automatisch in Access importieren.
Am liebsten hätte ich dafür ein Makro aus Access.
Ich habe bereits gegoogelt, aber keines der gefundenen Makros hat funktioniert.
Ich benötige eine kurze Schritt für Schritt Anleitung :)
Hoffe, es kann mir jemand helfen. Danke im Voraus.
Gruß
Robi

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Excel Dateien in Access übertragen
15.03.2016 14:58:32
Steve
Hallo Robi,
ich kenn mich da leider nicht aus was Access angeht, aber was ich per Google gefunden habe deutet darauf hin, dass der Import von Access's-Seite aus deutlich einfacher ist. Während ich da einzeilige Befehle gesehen habe, ist der Export von Excel aus umständlich und für Einsteiger nicht zu empfehlen.
Meine Empfehlung, schau mal im Access-Forum vorbei, dort wirst du eher Hilfe erhalten. Die Grundstruktur kann ich dir jedoch mit auf den Weg geben, die ist recht selbsterklärend und sollte auch bei Access laufen. Bei Fragen fragen.
lg Steve
Sub Import()
Dim oFile As Object, oFolder As Object
Const sVerz As String = "D:\Dokumente"   ' dein Ordner
Set oFolder = CreateObject("scripting.filesystemobject").GetFolder(sVerz)
For Each oFile In oFolder.Files
'dein Import der Datei
Next oFile
End Sub

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Excel Dateien in Access übertragen


Schritt-für-Schritt-Anleitung

Um mehrere Excel-Dateien automatisch in Access zu importieren, kannst du ein Makro in Access nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Access und erstelle eine neue Datenbank oder öffne eine bestehende.

  2. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  4. Füge den folgenden Code ein:

    Sub ImportExcelFiles()
       Dim oFile As Object, oFolder As Object
       Const sVerz As String = "D:\Dokumente"   ' Ändere den Pfad auf deinen Ordner
       Set oFolder = CreateObject("scripting.filesystemobject").GetFolder(sVerz)
    
       For Each oFile In oFolder.Files
           If Right(oFile.Name, 4) = ".xls" Or Right(oFile.Name, 5) = ".xlsx" Then
               ' Hier fügst du den Import-Befehl für Access ein
               ' Beispiel: DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "DeineTabelle", oFile.Path, True
           End If
       Next oFile
    End Sub
  5. Ändere den Pfad zu deinem Ordner, in dem die Excel-Dateien gespeichert sind.

  6. Führe das Makro aus:

    • Drücke F5 oder klicke auf die Schaltfläche „Ausführen“.

Mit diesem Makro importierst du alle Excel-Dateien in dem angegebenen Ordner automatisch in Access.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Überprüfe, ob der angegebene Ordnerpfad korrekt ist.
  • Fehler: "Der Import konnte nicht durchgeführt werden"

    • Stelle sicher, dass die Tabellenstruktur in deinen Excel-Dateien identisch ist und dass die Dateien nicht geöffnet sind.
  • Fehler: "Falscher Dateityp"

    • Achte darauf, dass du nur Excel-Dateien importierst, indem du die Dateiendungen im Code überprüfst.

Alternative Methoden

Falls du kein Makro verwenden möchtest, kannst du die Excel-Daten manuell in Access importieren:

  1. Öffne Access.
  2. Wähle Externe Daten im Menü.
  3. Klicke auf Excel.
  4. Folge den Anweisungen im Import-Assistenten, um deine Excel-Datei zu wählen.

Diese Methode ist jedoch weniger effizient, wenn du mehrere Dateien importieren möchtest.


Praktische Beispiele

Hier ist ein Beispiel, wie du den Import für eine spezifische Tabelle in Access einrichten kannst:

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "ZielTabelle", oFile.Path, True

In diesem Beispiel wird die Excel-Datei in die Tabelle "ZielTabelle" importiert. Stelle sicher, dass die Tabelle bereits in Access existiert.


Tipps für Profis

  • Verwende Fehlerbehandlungsroutinen im VBA-Code, um Probleme beim Import zu erkennen und zu protokollieren.
  • Teste dein Makro zunächst mit einer kleineren Anzahl von Excel-Dateien, um sicherzustellen, dass alles korrekt funktioniert.
  • Nutze Parameter, um den Ordnerpfad und die Tabellennamen dynamisch zu gestalten. So kannst du das Makro flexibler einsetzen.

FAQ: Häufige Fragen

1. Wie importiere ich mehrere Excel-Tabellenblätter in Access?
Du kannst den Import-Befehl für jedes Tabellenblatt in einer Schleife anpassen, indem du die Blattnamen im VBA-Code angibst.

2. Funktioniert dieses Verfahren in allen Excel- und Access-Versionen?
Die grundlegenden Schritte sollten in den meisten modernen Versionen von Excel und Access (ab 2010) funktionieren. Achte darauf, die spezifischen Versionsnummern in deinem Code zu berücksichtigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige