Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Mehrere Textdateien automatisch als Tabelle importieren





Frage

Habe viele gleiche TXT-Tabelle in einem Verzeichnis, möchte in Access automatisch einlesen. Jede Text-Datei hat mehrere Spalten durch blank getrennt, man kann als Tabelle einfach importieren, aber wenn ich im Verzeichnis 100 Dateien habe, muß 100 importieren. Das ist lästig. Es ist schön, wenn man ein Makro hat. Hat jemand eine Idee. Vielen Dank

Antwort 1 von 14071

Hi Indo,

das ist schon deine 3. Posting in dieser Sache. Habe immer noch keine Idee wie das geht. Aber eine Bitte an dich - bleib bei deinem ursprünglichen thread. Kannst ihn ja wieder nach oben beamen um ihn in Erinnerung zu bringen. Die Erfahrung zeigt aber, daß auch geantwortet wird, wenn der thread nicht mehr unter den Top30 steht. Vorausgesetzt jemand kann was dazu sagen.

Gruß
Jürgen

Antwort 2 von semi

type *.txt > alle_zusammen.txt

und importieren.

Antwort 3 von semi

Eine Korrektur.
Der Type Befehl schreibt dummerweise auch die Dateinamen in die Zieldatei.
Verwende diese Batch-Datei.

@echo off
if "%1"=="" goto usage
if "%2"=="" goto usage
if "%3"=="" goto loop
type %1>>%2
goto eof
:loop
for %%f in (%1) do call %0 %%f %2 x
goto eof
:usage
echo Aufruf mit %0 Quelle Ziel
:eof

Beispiel:
abc.bat *.txt alletexte.dat

Antwort 4 von Indo

Hi Semi,
vielen Dank, werde Bat-Dateien testen.

Antwort 5 von Indo

Hallo Semi,
die Bat-Datei funktioniert nicht so richtig, Ergebnis stimmt nicht.
Ich habe zwei Dateien getestet.
Datei 1 = 202 Zeilen
Datei 2 = 863 Zeilen.
Ergebnis = 2042.
Zuviele Zeilen geschrieben.
Testet noch.

Antwort 6 von semi

Beachte, dass wenn Du die Batchdatei zweimal mit gleicher Zieldatei aufrufst, dann wird alles an die alte Datei angehängt.

Dies liegt an dieser Zeile
type %1>>%2

>> bedeutet anhängen am Ende der Datei.
Lösche die Datei vom ersten Aufruf oder füge in die Batchdatei hinter
:loop

delete %2>nul
oder
erase %2>nul

ein.