Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: VRMEA am April 21, 2022, 11:58:00

Titel: Import mehrerer Excel-Dateien in eine bestehende Access Tabelle
Beitrag von: VRMEA am April 21, 2022, 11:58:00
Hallo Zusammen,
wir haben mehrere Excel-Tabellen in einem Laufwerk liegen, die in eine bestehende Access Tabelle automatisch importiert werden sollen.
Der Aufbau der Excel-Tabelle ist identisch mit der Tabelle in Access
FANr   KDNr   FAStücke   FAPreis   Datum   Monat   Jahr   EAGebiet.

Wir haben uns bereits an folgendem Prozess probiert:
Option Compare Database
Option Explicit

Function Import_Erlösmeldungen()
Dim myfile
Dim mypath

mypath = "G:\Abteilung EA und VC_EA\Import\"
ChDir (mypath)

myfile = Dir(mypath & "*.xlsx")
Do While myfile <> ""
  If myfile Like "*.xlsx" Then
    DoCmd.TransferSpreadsheet acImport, , "Test", mypath & myfile
  End If
  myfile = Dir()
Loop
End Function

Wir können mit diesem Prozess die vorhandenen Excel-Dateien in eine neue Tabelle in Access importieren. Die Spalten A,B,C... (Spaltenüberschrift: FANr,KDNr...) werden allerdings beim Import durch F1 bis F8 ersetzt.
Mit einer Anfüge-Abfrage haben wir die Spaltenüberschriften unsere Zieltabelle in Access zugeordnet, da die Felddatentypen nicht übereinstimmen (nach der Übernahme in Access: kurzer Text; Zieltabelle Zahl, Währung, Datum), funktioniert allerdings die Anfüge-Abfrage nicht. Beim Versuch die Felddatentypen in unserer neuen Tabelle Test der Ziel-Tabelle Access manuell anzupassen, scheitern wir daran das das Datum nicht mehr erkannt wird.

Beim direkten Import in die Wunschtabelle (Prozess angepasst in: DoCmd.TransferSpreadsheet acImport, , "AUSG_Erlösmeldung", mypath & myfile) in Access haben wir das Problem, dass der "Laufzeitfehler "2391" Das Feld "F1" ist in der Zieltabelle 'AUSG_Erlösmeldung' nicht vorhanden" auftaucht.
Wir finden leider selber keine Lösung für unser Problem. :'(

Unser Wunsch wäre es, die Excel-Tabellen (ca. 50 Stück) aus einem Ordner "X" direkt in die vorgesehene Access Tabelle 'AUSG_Erlösmeldung' in einem Arbeitsschritt zu importieren.

Kann uns jemand helfen? Vielen Dank für Eure Rückantworten.
Viele Grüße
Titel: Re: Import mehrerer Excel-Dateien in eine bestehende Access Tabelle
Beitrag von: PhilS am April 21, 2022, 12:24:36
Schau dir mal die Dokumentation zu DoCmd.TransferSpreadsheet (https://docs.microsoft.com/en-us/office/vba/api/access.docmd.transferspreadsheet) an. Damit sollten sich ein paar deiner Problem (Spaltenüberschriften, Zieltabelle) bereits lösen lassen. Ob das am Ende ausreicht, hängt etwas von den Daten ab, d.h. wie gut/korrekt die Datentypen erkannt werden.
Titel: Re: Import mehrerer Excel-Dateien in eine bestehende Access Tabelle
Beitrag von: Beaker s.a. am April 21, 2022, 13:58:05
Auch interessant bei diesem Thema ist das Stichwort "ImportExportSpecification".
Titel: Re: Import mehrerer Excel-Dateien in eine bestehende Access Tabelle
Beitrag von: VRMEA am April 25, 2022, 15:18:48
Zitat von: PhilS am April 21, 2022, 12:24:36Schau dir mal die Dokumentation zu DoCmd.TransferSpreadsheet (https://docs.microsoft.com/en-us/office/vba/api/access.docmd.transferspreadsheet) an. Damit sollten sich ein paar deiner Problem (Spaltenüberschriften, Zieltabelle) bereits lösen lassen. Ob das am Ende ausreicht, hängt etwas von den Daten ab, d.h. wie gut/korrekt die Datentypen erkannt werden.
Hallo PhilS, in unserer Funktion hat nur das Wort "true" gefehlt. Es funktioniert und es kann so einfach sein. Vielen Dank und viele Grüße