Juni 27, 2022, 13:20:54

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Import mehrerer Excel-Dateien in eine bestehende Access Tabelle

Begonnen von VRMEA, April 21, 2022, 11:58:00

⏪ vorheriges - nächstes ⏩

VRMEA

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

PhilS

Schau dir mal die Dokumentation zu 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.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

Auch interessant bei diesem Thema ist das Stichwort "ImportExportSpecification".
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

VRMEA

Zitat von: PhilS am April 21, 2022, 12:24:36Schau dir mal die Dokumentation zu 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