monacotj
Goto Top

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.

Content-Key: 163532

Url: https://administrator.de/contentid/163532

Printed on: April 19, 2024 at 18:04 o'clock

Mitglied: 83928
83928 Mar 29, 2011 at 09:27:03 (UTC)
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)) & ")"  
Member: MonacoTJ
MonacoTJ Mar 29, 2011 at 11:14:57 (UTC)
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) & ")"