Probleme beim Datenimport per VBA

29/08/2007 - 21:06 von Markus Wagner | Report spam
Hallo NG,

ich habe folgendes Problem:
Ich möchte in eine Tabelle bei mir in der Datenbank Daten aus einem csv-File
importieren.

DoCmd.TransferText acImportDelim, , "grdImportExcel", strPfadDatei, True

Das funktioniert bei mir unter Access 2000 (9.03821 SR-1) einwandfrei.
Mit Access 2007 funktioniert es auch.

Wenn ich diese Funktion aber unter Access 2002 (10.2627.2625) oder Access
2003 (11.5614.5606) aufrufe, bekomme ich folgende Meldung:

Run-time error '2391'
Das Feld 'kunr,anrede,vorname,nachname,zusatz,strasse,landnr,plz,ort,post'
gibt es in der Zieltabelle 'tbImport' nicht.

Komischerweise gibt es weder in der zu importierenden Datei noch in der
tbImport ein Feld 'post', denn das Feld heist postfach. Und dieses gibt es
sowohl in der Datei als auch in der Tabelle.
Habe dann das Feld postfach mal aus Datei und Tabelle entfernt. Dann ist das
nàchste Feld plötzlich das Problem.

Wenn ich die Datei von Hand exportiere und in die gleiche Zieltabelle
schreibe, dann funktioniert es auch.

Kann es sein dass es am fehlenden ServicePack liegt ? Hat jemand nen Tip was
ich sonst noch tun kann ?

Liebe Grüße
Markus
 

Lesen sie die antworten

#1 Peter Doering
29/08/2007 - 21:50 | Warnen spam
Hallo,

Markus Wagner wrote:

Ich möchte in eine Tabelle bei mir in der Datenbank Daten aus einem csv-File
importieren.

DoCmd.TransferText acImportDelim, , "grdImportExcel", strPfadDatei, True

Das funktioniert bei mir unter Access 2000 (9.03821 SR-1) einwandfrei.
Mit Access 2007 funktioniert es auch.

Wenn ich diese Funktion aber unter Access 2002 (10.2627.2625) oder Access
2003 (11.5614.5606) aufrufe, bekomme ich folgende Meldung:

Run-time error '2391'
Das Feld 'kunr,anrede,vorname,nachname,zusatz,strasse,landnr,plz,ort,post'
gibt es in der Zieltabelle 'tbImport' nicht.



Sieht wie ein Problem mit regionalen Einstellungen, konkret, dem
Listentrennzeichen aus, siehe Systemsteuerung - Regionaleinstellungen -
Anpassen - Listentrennzeichen. Du kannst eine Importspezifikation anlegen,
in der das Komma als Listentrennzeichen angeben und beim Import verwenden:

DoCmd.TransferText acImportDelim, "DeineImportSpezification", _
"grdImportExcel", strPfadDatei, True

Komischerweise gibt es weder in der zu importierenden Datei noch in der
tbImport ein Feld 'post', denn das Feld heist postfach. Und dieses gibt es
sowohl in der Datei als auch in der Tabelle.
Habe dann das Feld postfach mal aus Datei und Tabelle entfernt. Dann ist das
nàchste Feld plötzlich das Problem.



Das liegt daran, dass wegen des "fehlenden" Trennzeichens die ersten 63
Zeichen als Feldnamen angenommen werden, und die sind halt bei 'post'
erreicht ;-)

Wenn ich die Datei von Hand exportiere und in die gleiche Zieltabelle
schreibe, dann funktioniert es auch.



Weil du dann das Trennzeichen vorgibst.

Gruss - Peter

Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen