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
Die Tabelle, in die importiert wird, hat eine zusätzliche Spalte "Dateiname" in der ich gerne den Dateinamen der imporierten Textdatei einfügen möchte.
Kann mir jemand einen Tipp geben?
Danke und Gruß
Hallo,
direkt über Transfertext geht das nicht, wenn der Dateiname nicht auch als "Spalte" in der txt-Datei vorhanden ist. Du könntest direkt nach der Zeile Docmd.Transfertext eine Aktualisierungsabfrage ausführen:
.
.
DoCmd.TransferText acImportFixed, "myspec", "Tabelle", .FoundFiles(i)
Currentdb.Execute "Update Tabelle set Dateiname = '" & .FoundFiles(i) & "' where Dateiname is Null"
Next i
.
.
Top, vielen Dank für die schnelle Hilfe.