monacotj

Import von Textdateien in Access - Wie kann der Dateiname mit importiert werden

Hallo,
ich importiere über TransferText mehrere Textdateien aus Unterverzeichnissen. Das klappt auch.
Jetzt möchte ich den Dateinamen mitimportieren.

mit folgendem VBA-Script funktioniert der Import der verschiedenen Textdateien.

Sub ImportBBLogs()

Const SuchVerzeichnis = "C:\Verzeichnis"
Const InUnterverzeichnissen = True
Const DatTyp = "*.txt"

Dim i As Long

With Application.FileSearch
.LookIn = SuchVerzeichnis
.NewSearch
.SearchSubFolders = InUnterverzeichnissen
.FileName = DatTyp
.Execute
For i = 1 To .FoundFiles.Count
'Debug.Print .FoundFiles(i)
MsgBox .FoundFiles(i)
DoCmd.TransferText acImportFixed, "myspec", "Tabelle", .FoundFiles(i)
Next i
End With

End Sub

Zusätzlich möchte ich gerne den Dateinamen beim Import mit in die Tabelle schreiben. Dafür gibt es eine eigene Spalte in der Tabelle.
Wie kann ich das bewerkstelligen?

Ich würde auch gerne in eine zustäzliche Tabelle wegschreiben wollen, wann der Import gelaufen ist. Wie wär das möglich?

Danke schonmal für die Hilfe.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 163532

Url: https://administrator.de/forum/import-von-textdateien-in-access-wie-kann-der-dateiname-mit-importiert-werden-163532.html

Ausgedruckt am: 29.04.2025 um 13:04 Uhr

83928
83928 29.03.2011 um 11:27:03 Uhr
Goto Top
Hi,

wenn Du diese Zeile in Deine Schleife einbaust, wird Dateiname und Datum in eine Tabelle namens "tblLog" (mit den Feldern Dateiname und Datum) geschrieben.

CurrentDb.Execute "INSERTinto tblLog ([Dateiname],[Datum]) VALUES ('" & .FoundFiles(i) & "'," & Str(CDbl(Now)) & ")"  
MonacoTJ
MonacoTJ 29.03.2011 um 13:14:57 Uhr
Goto Top
Hi,

danke, des hat schonmal super geklappt und hat mir auch schon geholfen.
Jetzt würd ich nur noch gern zusätzlich den Dateinamen mit in der Tabelle haben, in der die Inhalte aus der Textdatei stehen.

Bsp:
Feld1 Feld2 Feld3 Dateiname
du er sie es.txt
dein sein ihr mein.txt

Habs mal so getestet, aber der Debugger meldet, das der Dateiname "|" zulang ist
DoCmd.TransferText acImportFixed, "myspec", "Tabelle", .FoundFiles(i) & "INSERT INTO Tabelle ([Dateiname]) VALUES ('" & .FoundFiles(i) & ")"