Discussion:
Import CSV
(zu alt für eine Antwort)
Sigbert Helle
2021-01-14 19:54:58 UTC
Permalink
Hallo Helferinnen und Helfer,

ich muss/will für jemanden, der die Access-Runtime benutzt, einen
CSV-Import definieren.
Ich hab jetzt in eine Test-DB händisch eine CSV importiert.
Stimmt es, dass CVSs mit Komma (also Standard) sich nicht importieren
lassen, so lange Komma als DezTrennzeichen definiert ist? Obwohl alle
DezZahlen mit " als Text definiert sind?
Ist egal, da ich auch Semikolon benutzen kann.
Ich hatte gehofft, dass ich die gespeicherte Import-Routine irgendwo
abgreifen kann, um daraus VBA-Code zu machen - finde ich aber nicht.

Hat vielleicht jemand eine fertige VBA-Funktion für mich (oder einen
Hinweis ins Netz)?
Die Spezifikationen wären:
Trennzeichen: ;
Textqual.: "
Codepage: UTF-8
Erste Zeile enthält Feldnamen

Vielen Dank schon mal

Sigbert
Sigbert Helle
2021-01-14 21:30:59 UTC
Permalink
Hallo,
ich war doch zu zögerlich.
Inzwischen reduziert sich mein Problem auf folgendes:

Ich hab mir mit dem Import-Assistenten eine Import-Routine erzeugt, die
ich unter dem Namen CSVImport abgespeichert habe.
Wenn ich jetzt versuche diesen Code auszuführen

DoCmd.TransferText acImportDelim, "CSVImport", "tbl007",
"N:\...\Versand.csv", True, , 65001

bekomme ich den Laufzeitfehler 3625 (Die Textdateispezifikation
'CSVImport' ist nicht vorhanden ...).
Sie ist vorhanden!
Hab schon verschiedene Namen ausprobiert. Keine Änderung.

Hat jemand ne Idee?

Gruß
Sigbert
Karl Donaubauer
2021-01-14 22:40:03 UTC
Permalink
Hallo, Sigbert!
Post by Sigbert Helle
...
Ich hab mir mit dem Import-Assistenten eine Import-Routine erzeugt, die
ich unter dem Namen CSVImport abgespeichert habe.
Wenn ich jetzt versuche diesen Code auszuführen
DoCmd.TransferText acImportDelim, "CSVImport", "tbl007",
"N:\...\Versand.csv", True, , 65001
bekomme ich den Laufzeitfehler 3625 (Die Textdateispezifikation
'CSVImport' ist nicht vorhanden ...).
Sie ist vorhanden!
Hab schon verschiedene Namen ausprobiert. Keine Änderung.
Hat jemand ne Idee?
"CSVImport" ist vermutlich ein gespeicherter Importvorgang. Also sowas
wie unten auf der folgenden Webseite mithilfe von "Importschritte
speichern" erhältlich:

https://support.microsoft.com/de-de/office/speichern-der-details-eines-import-oder-exportvorgangs-als-spezifikation-6b94e183-2b10-4333-a31a-001fe75321b5

Richtig?

Was TransferText hingegen als Parameter braucht, ist eine "wirkliche"
Importspezifikation. Andere Baustelle, auch wenn Microsoft das auf der
o.a. Supportseite missverständlich vermanscht.

Wie du eine wirkliche erzeugst, ist auf der folgenden Webseite anhand
von Access 97 beschrieben:

https://dbwiki.net/wiki/Access_Bedienungsanleitung:_Importspezifikation_anlegen

Das erste Bild mit dem Menüaufruf ist heutzutage durch den Ribbonaufruf
für Import, Text etc. zu ersetzen. Im zweiten Bild ist der Dateidialog
heutzutage etwas rundlicher. Alle anderen Dialoge und Vorgänge schauen
dann aber 23 Jahre später noch genauso großartig aus. ;-)

Was du mit diesem Vorgang speicherst, ist dann mit Transfertext verwendbar.
--
Servus
Karl
*********
http://AccessDevCon.com
Access FAQ: https://www.donkarl.com
Sigbert Helle
2021-01-14 22:56:37 UTC
Permalink
Hallo Karl,

ich hatte tatsächlich in dem Fenster "Importspezifikation" den Schalter
"Speichern" übersehen - peinlich, peinlich.

Also: Dank an Karl und Winfried!!!

Gruß
Sigbert

Winfried Sonntag
2021-01-14 21:36:50 UTC
Permalink
Post by Sigbert Helle
ich muss/will für jemanden, der die Access-Runtime benutzt, einen
CSV-Import definieren.
Ich hab jetzt in eine Test-DB händisch eine CSV importiert.
Stimmt es, dass CVSs mit Komma (also Standard) sich nicht importieren
lassen, so lange Komma als DezTrennzeichen definiert ist? Obwohl alle
DezZahlen mit " als Text definiert sind?
Ist egal, da ich auch Semikolon benutzen kann.
Ich hatte gehofft, dass ich die gespeicherte Import-Routine irgendwo
abgreifen kann, um daraus VBA-Code zu machen - finde ich aber nicht.
Die Spezifikationen werden in einer ausgeblendeten Systemtabelle
gespeichert. Details verrät dir dieser Artikel:
https://access-im-unternehmen.de/ImportExportSpezifikationen_im_Griff/

Servus
Winfried
--
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
Access-FAQ: http://www.donkarl.com/AccessFAQ.htm
Access-Stammtisch: http://www.access-muenchen.de
Sigbert Helle
2021-01-14 21:52:49 UTC
Permalink
Hallo Winfried,
Post by Winfried Sonntag
Die Spezifikationen werden in einer ausgeblendeten Systemtabelle
gespeichert.
Beide Systemdateien (MSysIMEXSpecs und MSysIMEXColumns) sind bei mir leer!
Aber wenn ich "Gespeicherte Importe" aufrufe, sind dort beide von mir
erstellte Routinen "CSVImport" und "ImportCSV" sichtbar und auch ausführbar.

Bin leicht verwirrt ...
Achso: Access und Windows - beide aktuell.

Gruß
Sigbert
Lesen Sie weiter auf narkive:
Loading...