Daten, Daten, Daten – ohne sie wäre eine Datenbank ziemlich nutzlos. Daher ist es nicht verwunderlich, dass eine der häufigsten Fragen beim Importieren von Daten in Access-Tabellen lautet: Wie kann ich mir die Arbeit erleichtern, wenn ich regelmäßig unzählige Dateien importieren muss? Da dies eine so häufige Aufgabe ist, gibt es natürlich mehrere Lösungsansätze. Hier betrachten wir jedoch nur einen – meiner Meinung nach den einfachsten –, insbesondere wenn Sie dies regelmäßig oder sogar nach einem Zeitplan erledigen. Mit etwas Planung (und ich meine wirklich nur ein bisschen!) und ein wenig VBA-Kenntnissen sind Sie bestens gerüstet. Lesen Sie weiter, um loszulegen…
Importieren aller Excel-Dateien in einen Ordner
In diesem Artikel werden wir uns mit dem Importieren einer Reihe von Excel-Dateien in einen bestimmten Ordner befassen. Sie können jedoch genauso gut CSV-Dateien usw. importieren. In Kürze wird erläutert, wie Sie den Code für die Verarbeitung von CSV-Dateien ändern können.
Definieren wir zunächst, was der Code tun soll:
"Wir möchten alle Dateien aus einem bestimmten Ordner in eine vorhandene Tabelle importieren. Wir möchten auch angeben, ob die Dateien eine Kopfzeile haben oder nicht."
Scheint einfach zu sein, schauen wir uns also den Code an, um dies zu tun:
Sub ImportfromPath(path As String, intoTable As String, hasHeader As Boolean) Dim fileName As String 'Loop through the folder & import each file fileName = Dir(path & "\*.xls") While fileName <> "" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, intoTable, path & fileName, hasHeader 'check whether there are any more files to import fileName = Dir() Wend End Sub
Auf Probleme prüfen…

OK - das Wichtigste zuerst. Um den Code unter verschiedenen Umständen so nutzbar wie möglich zu halten, fragen wir nach dem Pfadnamen (in dem die Dateien gespeichert sind), dem Namen der Tabelle, in die Sie diese Dateien importieren möchten, und ob die Dateien in diesem Ordner alle einen haben Header oder nicht (dh die Feldnamen erscheinen in der ersten Zeile der Tabelle).
Sie werden feststellen, dass der Teil des Codes, der nach Dateien sucht - Dir (Pfad & "\ *. Xls") - einen Platzhalter und eine Dateierweiterung an den angegebenen Pfad anfügt. Ich erwähne dies, da es sehr einfach wäre, den Code zu ändern, wenn Sie beispielsweise nur Dateien importieren möchten, die einer bestimmten Namenskonvention entsprechen (z. B. alle Dateien, deren Dateiname „Januar“ oder „2017“ enthält ). Wenn Sie möchten, können Sie diesen Filter sogar als Parameter zum Unterprogrammaufruf hinzufügen.
Wenn eine Datei den angegebenen Kriterien entspricht (in diesem Fall eine beliebige XLS-Datei im Ordner), wird sofort versucht, diese Datei mit dem Befehl TransferSpreadsheet zu importieren.
Wo können Sie den Code an Ihre Bedürfnisse anpassen?
An diesem Punkt können Sie den Code so ändern, dass anstelle des Importierens einer Tabelle CSV-Dateien importiert werden (mit dem Befehl „TransferText“) usw.
Der Code wird dann wiederholt, bis keine weiteren Dateien in diesen Ordner importiert werden müssen.
Es ist ein kleiner Code, den Sie aber immer wieder verwenden werden, da bin ich mir sicher!
Einführung des Autors:
Mitchell Pond ist ein Datenrettungsexperte in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich SQL-Beschädigung reparieren und Excel-Wiederherstellungssoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX