viking
Goto Top

Import von TXT Datei mit Modul in Access 2003 und 2007

Hallo,
welcher Spezialist kann mir helfen?

Import von Textdateien mit “Modul” in Access 2003 und Access 2007
Ich habe eine (natürliche mehrere) Textdatei(en) welche folgende Struktur haben kann.
Ich habe natürlich mehrere Spalten und sinnvolle Einträge.
Beispielaufbau:
“Feld_1“ “Feld_2“ “Feld_3“ “Feld_4“ “Feld_5“
“Hallo“ “25.03.2004“ “109876,34“ “Und“ “23“
“Ja“ “24.01.2007“ “12,00“ “wie geht“ “4“
“So so so“ “12.01.2008“ “1,00“ “das“ ““
“Warum“ “31.12.2009“ “1234,09“ ““ “1“

Zeile 1 sind Spaltenüberschriften.
Datentypen in Access sollen sein:
Spalte 1: Text
Spalte 2: Datum
Spalte 3: Zahl mit 2 Nachkommastellen
Spalte 4: Text
Spalte 5: Zahl ohne Nachkommastelle
Natürlich können die Werte auch leer sein.
Die Werte stehen in der TXT Datei in Hochkomma ""
Die Werte sind durch Tabulator getrennt.

Meine Tabellen haben mehrere 10000 Zeilen.
Wie kann ich diese am elegantesten in Access importieren.
Bei jedem neuen Import soll die Zieltabelle in Access überschrieben werden.
Frage:
Wie muß das Modul für das Beispiel aufgebaut sein.
Meine Beispieldatei soll den Namen „XYZ.txt“ haben und soll unter C:\Temp\Beispiel abgelegt sein.
Meine Accesstabelle soll den Namen XYZ haben.
Für Textfelder ist die Zeichenanzahl maximal 150 Zeichen.

Wer kann mir da weiter helfen.

Danke!

Content-Key: 142338

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

Printed on: April 20, 2024 at 06:04 o'clock

Member: NetWolf
NetWolf May 11, 2010 at 12:07:08 (UTC)
Goto Top
Hallo,

erstelle deine Tabelle XYZ wie du es wünscht.

Über den Verknüpfungsassistenten verknüpfst du die einfach die Text - Datei. Diese wird dann als eigene Tabelle in deiner Datenbank angezeigt.
Der Assistent fragt die relevanten Informationen ab.

Nun benötigst du nur noch zwei Abfragen:
1. eine Löschabfrage = Haupttabelle leeren
2. eine Anfügeabfrage = Daten der eingebundenen Tabelle in Haupttabelle ein-/anfügen.

Ein Modul ist dafür nicht notwendig, da ein Modul in Access den VBA - Code enthält. Ich würde eher ein Formular empfehlen, mit Taste, über die man dann den Vorgang startet.
Der VBA-Code für die Taste kann dann direkt im Formular hinterlegt werden.

Grüße aus Rostock
Wolfgang
(Netwolf)
Member: viking
viking May 11, 2010 at 12:51:52 (UTC)
Goto Top
Hallo Netwolf,

Danke für Deine Rückmledung.
Die beschriebene Varianten kenne ich, ..., aller wollte ich aus Geschwindigkeitsgründen da es Tabellen mit mehreren 100000 Datensätzen geht mit Modulen in einem Makro arbeiten.
Diese sollen meines wissens um einiges schneller laufen.

Grüße viking
Member: NetWolf
NetWolf May 11, 2010 at 15:50:46 (UTC)
Goto Top
Hallo viking,

keine Ahnung woher du das hast, da nur Daten übernommen werden sollen, ist eine Abfrage imho am sinnvollsten.
Wenn Berechnungen / Umkodierungen etc. notwendig sein würden, könnte eine VBA-Lösung schneller sein. Es kommt halt immer drauf an, was alles gemacht werden muss.

Makros sollte man bei Access gleich vergessen und lieber gleich VBA einsetzen/lernen. Makros werden intern erst in VBA dekodiert und dann ausgeführt, d.h. sie dauern etwas länger.
Aber bei 100.000 Datensätzen dürfte das Ganze sowieso nur ein / zwei Minuten dauern. Kommt halt auf die Geschwindigkeit deiner Platte an. (Vorher defragmentieren bring ein paar Sekunden)


Grüße aus Rostock
Wolfgang
(Netwolf)