Tipps "n" Tricks
Anwender-Software - Access

Last Update: 24. Dezember 2001/Webmaster

Automatischer Datei-Import schlägt fehl:

Thema:

Access 97/2000

Frage:

Ich möchte per VBA-Prozedur eine Textdatei ohne Feldnamen einlesen und an eine vorhandene Access-Tabelle anhängen. Beim Einlesen über die Methode "TransferText" erscheint die folgende Fehlermeldung:

"Das Feld 'F1' gibt es in der Zieltabelle 'Tabelle1' nicht. Microsoft Access konnte die Tabelle nicht anfügen."

Werden die Felder in der Access-Tabelle in F1 ... Fx umbenannt, funktioniert das ganze, aber das ist natürlich keine Lösung. Wie komme ich an meine Daten?

Lösung:

Die eigentliche Frage müsste lauten: Ist es wirklich ein Bug oder vielleicht ein gewolltes Feature, denn dieses Problem gab es bereits in Access 97 und wurde auch in Access 2000 nicht behoben. Die Ursache ist in den Importspezifikationen zu suchen: Wenn Sie keine Spezifikationen angeben, verwendet Access die Standardeinstellungen und die sehen vor, dass die Felder der eingelesenen Datei mit "Feld1" bzw. "F1", "Feld2"/"F2" usw. benannt sind.

In der Access-Tabelle, an die die Daten angehängt werden sollen, sind diese Felder natürlich nicht vorhanden und da die Zuordnung ausschliesslich über den Feldnamen und nicht über die Reihenfolge der Spalten durchgeführt wird, kommt es zu dem Fehler. Die Lösung ist einfach, denn Sie müssen lediglich eine Importspezifikation mit den korrekten Feldnamen anlegen. Dazu führen Sie den Import über Datei-Externe Daten-Importieren einmal manuell durch und klicken dabei im ersten Schritt des Assistenten auf Weitere. Geben Sie dann unter "Feldinformationen" die entsprechenden Feldnamen ein und sichern Sie die Einstellungen über die Schaltfläche Speichern unter.

Diesen Schritt müssen Sie nur ein einziges Mal durchführen, denn die Spezifikation ist damit gespeichert und Sie können sie als zweiten Parameter der "TransferText"-Methode angeben. Zum Beispiel:

DoCmd.TransferText acImportDelim, "Spezifikationsname", _
"Zieltabelle","c:\Import.txt"

 

Tipps "n" Tricks
Anwender-Software - Access