MS Access: Import mehrerer XML-Dateien per VBA
Hallo zusammen,
In einem Ordner befinden sich mehrere XML-Dateien, die ich gern per VBA-Script in einem Schritt nach MS Access importieren möchte. Die XML-Dateien haben folgende Struktur:
1. Ebene: HPLR
2. Ebene: Header
3. Ebene: Belegkopf
4. Ebene: Belegzeile
Folgender VBA-Code übernimmt diese Dateien legt jedoch pro Belegkopf und Belegzeile jeweils eine separate Tabelle an:
Sub TEST()
Dim fs
Dim fsFolder
Dim fsFile
Dim i As Double
Set fs = CreateObject("scripting.filesystemobject")
Set fsFolder = fs.GetFolder("C:\Test")
For Each fsFile In fsFolder.Files
Debug.Print fsFile.Name
Application.ImportXML fsFile.Path, acStructureAndData
i = Timer + 0.5
While Timer < i
DoEvents
Wend
Next fsFile
End Sub

Gibt es eine Möglichkeit, dass nicht separate Tabellen anlegt, sondern dass z.B. alle Belegköpfe bzw. Belegzeilen in eine Tabelle übernommen werden?
Vielen Dank vorab für Eure Mühe.
VG
In einem Ordner befinden sich mehrere XML-Dateien, die ich gern per VBA-Script in einem Schritt nach MS Access importieren möchte. Die XML-Dateien haben folgende Struktur:
1. Ebene: HPLR
2. Ebene: Header
3. Ebene: Belegkopf
4. Ebene: Belegzeile
Folgender VBA-Code übernimmt diese Dateien legt jedoch pro Belegkopf und Belegzeile jeweils eine separate Tabelle an:
Sub TEST()
Dim fs
Dim fsFolder
Dim fsFile
Dim i As Double
Set fs = CreateObject("scripting.filesystemobject")
Set fsFolder = fs.GetFolder("C:\Test")
For Each fsFile In fsFolder.Files
Debug.Print fsFile.Name
Application.ImportXML fsFile.Path, acStructureAndData
i = Timer + 0.5
While Timer < i
DoEvents
Wend
Next fsFile
End Sub

Gibt es eine Möglichkeit, dass nicht separate Tabellen anlegt, sondern dass z.B. alle Belegköpfe bzw. Belegzeilen in eine Tabelle übernommen werden?
Vielen Dank vorab für Eure Mühe.
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6478874719
Url: https://administrator.de/forum/ms-access-import-mehrerer-xml-dateien-per-vba-6478874719.html
Ausgedruckt am: 23.04.2025 um 05:04 Uhr
2 Kommentare
Neuester Kommentar
Schau mal unter https://learn.microsoft.com/de-de/office/vba/api/access.application.impo ... und da unter den Importoptions -> https://learn.microsoft.com/de-de/office/vba/api/access.acimportxmloptio ...