Live-Forum - Die aktuellen Beiträge
Datum
Titel
26.07.2024 18:10:28
26.07.2024 17:12:34
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

CSVDatei per ADO einlesen; Werte in Anführungsz.

CSVDatei per ADO einlesen; Werte in Anführungsz.
26.03.2008 16:32:00
Arthur
Hallo.
Eine kleine Frage für den, der die Antwort weiß. Eine große Antwort für mich.
Ich möchte eine Datei per ADO-Verbindung einlesen. Im Prinzip funktioniert das. Jetzt bekomme ich aber eine Datei vorgelegt, in der die Werte in Anführungszeichen stehen. Und damit finde ich im Recordset nur noch die erste Spalte.
Eine Beispielzeile des Dateiinhalts:
"Hello","1","0"
Was läuft anders, wenn Werte in Anführungszeichen stehen? Ein direkter Import über den manuellen Excel Datenimport funktioniert.
Hier kommt noch etwsa Code, wie die Verbindung erstellt wird.
Set loAdoConnection = CreateObject("ADODB.CONNECTION")
loAdoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0" _
& ";Data Source=""C:\Temp\""" _
& ";Extended Properties=""text;HDR=No;FMT=Delimited"""
loAdoRecordset.Open "Select * from Datei.txt", loAdoConnection, 3, 1, 1
Dank schon mal für eine Antwort.
Gruß
Arthur

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Problem gefunden
27.03.2008 11:28:19
Arthur
Hallo Rainer.
Deine Links hatten die Lösung zwar nicht direkt in petto. Durch das Herumtesten mit den Schema-Files kam aber irgendwann der Anstoss zur Lösung in Form einer ansonsten nicht angezeigten Fehlermeldung.
DIE LÖSUNG, für die, die es interessiert:
Um CSV-Dateien einzulesen, die komma getrennte Werte enthält müssen die Parameter entsprechend gesetzt sein. Zu dem Parameter "Format=Delimited(,)" fehlt ein zweiter Parameter. Ansonsten sähe das Feldtrennzeichen aus, wie das Dezimaltrennzeichen. Da meckert aber niemand drüber, wenn die Verbindung im Code und ohne Schema-Datei geöffnet wird.
Kurz und gut, der Parameter "Format=Delimited(,);DecimalSymbol=." führt zum Erfolg.
Best regards und bedankt für den Schubs in die richtige Richtung.
-Arthur

Anzeige
.... doch nicht *grpf*
27.03.2008 13:06:00
Arthur
Sorry,
Irgendwie hatte es funktioniert. Doch dann das Schreckliche: Excel-Datei neu geladen und nun wird wieder nur die erste Spalte eingelesen. ... vieleicht zu viel herumprobiert.
Sind die Parameterangaben, die ich übergebe doch falsch? Vermutlich. Wie sehen die aber richtig aus? Weder FMT, noch Format bringt eine geänderte Reaktion.
Hier habe ich eine kleine Testdatei für den ADO-Zugriff erstellt. Die Csv kann leicht über das Beispiel erstellt werden. Als Ergebnis müssten dann die sieben Spalten erkannt werden.
https://www.herber.de/bbs/user/51072.xls
Weiß mir jemand einen Rat?
-Arthur

Anzeige
Zusatzinfo
27.03.2008 13:29:00
Arthur
... ich glaube mich mit mir selbst zu unterhalten ... und das scheinbar gerne ;0)
Feststellung: Bei der ganzen Testerei habe ich wohl die Schema.ini irgendwann geändert. Die folgenden Einträge wären richtig und funktionieren. Der Dateiname muss jedenfalls vorhanden sein. Jedoch reagiert der Open-Befehl auf keine anderen Parameter:
[AdoTest.csv]
ColNameHeader=False
DecimalSymbol=(.)
Format=Delimited(,)
CharacterSet=ANSI
Kennt jemand die Angaben, die gemacht werden müssen, um die selben Parameter im Open-Befehl zu übergeben?
"Format=CSVDelimited; ..." oder "FMT=CSVDelimited; ..." hilft bei jedenfalls nicht. Eventuell ist auch nur die Syntag falsch. Wer weiß?
-Arthur

Anzeige
AW: Zusatzinfo
27.03.2008 19:09:00
Tino
Hallo,
bevor du dir das Leben mit ADODB.CONNECTION holst.
Mach es über
Daten importieren
und schon bist du alle sorgen los.
Gruß
Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge