Supportnet / Forum / Datenbanken
textdatei in access importieren
Frage
ich möchte daten einer sich ständig erneuernden textdatei in eine access tabelle importieren. die textdatei enthält verschiedene zeilen (diese sind mit 2 ziffern am anfang codiert und enden mit zeilenumbruch), welche in einen neuen datensatz der access-tabelle in die entsprechende variable importiert werden müssen.
eg:
Record #1 of 1 ->ignorieren!
ID: CN-00139261
AU: Rosenthal P
TI: Chronic hepatitis C viral infection in childhood
SO: Journal of pediatric gastroenterology and nutrition
YR: 1997
VL: 24
NO: 3
PG: 363-4
PM: PUBMED 9138188
tabelle:
ID AU TI SO YR ....
zusätzliche schwierigkeit: es sind nicht immer alle zeilen vorhanden!
danke für hinweise, wie ich das in vba programmieren kann.
Antwort 1 von K-D
Hi,
mach das mit 2 Schleifen.
Die äußere durchläuft alle möglichen Werte, die Du als Schlüssel für die Zeilen verwendest. Am besten, Du packst nimmst einen Array aus strings und packst dort alle möglichen Werte rein. Den durchläufst Du in der 1. Schleife.
In der 2. (inneren Schleife) guckst Du für alle Zeilen, die in der Textdatei vorhanden sind, ob sie dem aktuellen Wert der 1. Schleife entsprechen. Hast Du ne übereinstimmung gefunden, dann wird der Wert übernommen. Hast Du alle durchlaufen, gibt es den Eintrag eben nicht.
Gruß
K-D
mach das mit 2 Schleifen.
Die äußere durchläuft alle möglichen Werte, die Du als Schlüssel für die Zeilen verwendest. Am besten, Du packst nimmst einen Array aus strings und packst dort alle möglichen Werte rein. Den durchläufst Du in der 1. Schleife.
In der 2. (inneren Schleife) guckst Du für alle Zeilen, die in der Textdatei vorhanden sind, ob sie dem aktuellen Wert der 1. Schleife entsprechen. Hast Du ne übereinstimmung gefunden, dann wird der Wert übernommen. Hast Du alle durchlaufen, gibt es den Eintrag eben nicht.
Gruß
K-D
Antwort 2 von Teddy7
Immer ein neuer Satz in der Tabelle ?
Dann:
Öffen Textdatei
addnew auf die Tabelle
Scheife:
lesen Textdatei zeilenweise
if satzart = "ID" then
tabelle!id = feldinhalt
elseif satzart = .............usw.........
tabelle.update
ende schleife
schließen textdatei
schließen tabelle
recordset aus Kernspeicher löschen
Gruß
Teddy
Dann:
Öffen Textdatei
addnew auf die Tabelle
Scheife:
lesen Textdatei zeilenweise
if satzart = "ID" then
tabelle!id = feldinhalt
elseif satzart = .............usw.........
tabelle.update
ende schleife
schließen textdatei
schließen tabelle
recordset aus Kernspeicher löschen
Gruß
Teddy

