Benutzername:   Noch nicht registriert?
Passwort:   Passwort vergessen?
iB Code Einmal klicken um den Tag zu öffnen, nochmal klicken zum Schliessen

Top Smilies
Beitrag

HTML ist on für dieses Forum

IkonCode ist on für dieses Forum

SMILIES LEGENDE ansehen

Beitragsoptionen

Möchten Sie Ihre Signatur hinzufügen?
Wollen Sie per Email über Antworten informiert werden?
Wollen Sie Emoticons in Ihrem Beitrag aktivieren?
 

Beitragsrückblick für (die neuesten Beiträge zuerst)
OberstHorst Erstellt: 14:02 am 19. Juni 2013
Super... danke :thumb::ocinside:
ocinside Erstellt: 13:10 am 19. Juni 2013
Nee, das schreibst du alles untereinander in eine einzige schema.ini Datei.
Also z.B.:
Code
[datei1.csv]
ColNameHeader=False
Format=Delimited( )
MaxScanRows=0
CharacterSet=OEM
Col1=XYZ1 Float
Col2=XYZ2 Integer
Col3=XYZ3 LongChar
[datei2.csv]
ColNameHeader=False
Format=TabDelimited
MaxScanRows=0
CharacterSet=OEM
Col1=XYZ1 Float
Col2=XYZ2 Integer
Col3=XYZ3 LongChar
[datei3.csv]
ColNameHeader=False
Format=TabDelimited
MaxScanRows=0
CharacterSet=OEM
Col1=XYZ1 Float
Col2=XYZ2 Integer
Col3=XYZ3 LongChar
OberstHorst Erstellt: 12:41 am 19. Juni 2013
OK klingt schon mal gut.
Aber wenn ich verschiedene CSVs einlesen möchte, dann müsste ich für jedes Sheet eine extra Verbindung + INI anlegen, oder?
ocinside Erstellt: 12:21 am 19. Juni 2013
Du müßtest das direkt bei der ODBC Verbindung vorgeben.
Ich hatte das mal mit OleDB über die schema.ini Datei gelöst, wo du dann in der schema.ini jede einzelne Spalte mit:
Col1=XYZ1 Float
Col2=XYZ2 Integer
Col3=XYZ3 LongChar
etc. eindeutig formatierst.
OberstHorst Erstellt: 11:23 am 19. Juni 2013
:moin::moin: zusammen,

ich habe ein etwas "exotischeres" Problem und hoffe, dass mir hier jemand helfen kann.

Ich frage per SQL via ODBC direkt auf CSV-Dateien ab. Theoretisch funktioniert das auch alles super. Praktisch habe ich allerdings das Problem, dass der Treiber mir aus welchen Gründen auch immer die Formate vorschlägt. Hin und wieder passt das, aber vereinzelt wird mir in den Metadaten INTEGER angegeben, obwohl FLOAT oder gar CHAR Werte enthalten sind. Wenn in einem solchen Feld (INT) zum Beispiel eine Fließkommazahl steht, werden einfach die Nachkommastellen abgeschnitten.

Ein Workaround wäre die Zahlen alle in Quotes zu setzen. Aber das wäre nicht so die eleganteste Lösung. Per mid(feldname,1) darauf hinzudeuten, dass es sich um ein CHAR Feld handelt funktioniert leider nicht, da die Metadaten wohl bereits vom Treiber vergeben werden.

Vielleicht hat ja jemand eine Idee...

E: PS: Das erstellen der CSV erfolgt per VBA. Vielleicht lässt sich hier schon was drehen?!

(Geändert von OberstHorst um 11:26 am Juni 19, 2013)
×