Discussion:
Datumsformat in schema.ini für Import festlegen
(zu alt für eine Antwort)
Ernst Baumann
2005-09-28 06:33:23 UTC
Permalink
Hallo NG

Ich habe die Aufgabe ständig Datendateien in Excel XP zu importieren und
Infos bereitzustellen . Die Daten kommen im ASCII Format als Textfile per
Mail auch aus Übersee.
Da die Sache mehrmals am Tag passiert, schreit das nach Automatisierung.
Der Import von fast allen Feldern geht problemlos über ADO, über die
schema.ini habe ich Einfluss auf die Spalten und Formate.
Nicht gelungen ist das Datumsformat zu bezwingen, leider gibt mir MSDN und
MS dazu keine genauen Informationen.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcjetsdk_98.asp
Hier ein Auszug aus der schema.ini

[20050828.txt]
Format=CSVDelimited
ColNameHeader=True
MaxScanRows=0
Col1=ID Float Width 15
Col2=PRODUCT Char Width 100
Col3=VALUE1 Float Width 15
Col4=VALUE2 Float Width 15
Col5=VALUE3 Float Width 15
Col6=C_DATE Date
CharacterSet=ANSI
DecimalSymbol=.
DateTimeFormat = ????? ' Das Quelleformat ist 8/25/2005

Klar kann ich das als Text importieren und dann mit VBA behandeln.
Was nich sein muss, muss nicht sein. Also ich habe schon die gänigsten
Möglichkeiten M/D/Y bis MTY probiert.
Irgenwie mag er das Datum nicht entweder die Spalte bleibt leer oder die
ganze Tabelle bleibt leer.

Wer kann mir weiterhelfen ?

Danke

Ernst
Eike Bimczok
2005-09-28 19:42:46 UTC
Permalink
Hallo Ernst,

ein Blick in die Excel Hilfe:

Format Anzeige
d/m/yy 7.12.58
d-mmm 7-Dez
d-mmmm-yy 7-Dezember-58
d. mmmm 7. Dezember
mmmm yy Dezember 58
hh:mm AM/PM 08:50
h:mm:ss a/p 8:50:35 p
h:mm 20:50
h:mm:ss 20:50:35
d/m/yy h:mm 7.12.58 20:50

Wie du siehst lässt sich der Datumstrenner "/" nicht als Ausgabeformat
wählen. Nimmt man jetzt an, das die Datums-Funktionen in beide
Richtungen gleich funktionieren, dann ist demnach dein Eingangsformat
nicht möglich.
Verwende alternativ andere Ländereinstellungen (auf Betriebssystemebene)
während des Imports oder verwende VBA um das Datum zu konvertieren oder
konvertiere den Datumstrenner vor dem Import in ein gültiges Zeichen,
also "." oder "-".

Viel Erfolg und Gruß
Eike


*** ebay bekommt Konkurrenz - http://www.findix.com ***
Post by Ernst Baumann
Hallo NG
Ich habe die Aufgabe ständig Datendateien in Excel XP zu importieren und
Infos bereitzustellen . Die Daten kommen im ASCII Format als Textfile per
Mail auch aus Übersee.
Da die Sache mehrmals am Tag passiert, schreit das nach Automatisierung.
Der Import von fast allen Feldern geht problemlos über ADO, über die
schema.ini habe ich Einfluss auf die Spalten und Formate.
Nicht gelungen ist das Datumsformat zu bezwingen, leider gibt mir MSDN und
MS dazu keine genauen Informationen.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcjetsdk_98.asp
Hier ein Auszug aus der schema.ini
[20050828.txt]
Format=CSVDelimited
ColNameHeader=True
MaxScanRows=0
Col1=ID Float Width 15
Col2=PRODUCT Char Width 100
Col3=VALUE1 Float Width 15
Col4=VALUE2 Float Width 15
Col5=VALUE3 Float Width 15
Col6=C_DATE Date
CharacterSet=ANSI
DecimalSymbol=.
DateTimeFormat = ????? ' Das Quelleformat ist 8/25/2005
Klar kann ich das als Text importieren und dann mit VBA behandeln.
Was nich sein muss, muss nicht sein. Also ich habe schon die gänigsten
Möglichkeiten M/D/Y bis MTY probiert.
Irgenwie mag er das Datum nicht entweder die Spalte bleibt leer oder die
ganze Tabelle bleibt leer.
Wer kann mir weiterhelfen ?
Danke
Ernst
Marcus O. M. Grabe
2005-09-28 20:09:23 UTC
Permalink
On Wed, 28 Sep 2005 08:33:23 +0200, "Ernst Baumann"
Post by Ernst Baumann
DateTimeFormat = ????? ' Das Quelleformat ist 8/25/2005
Klar kann ich das als Text importieren und dann mit VBA behandeln.
Was nich sein muss, muss nicht sein. Also ich habe schon die gänigsten
Möglichkeiten M/D/Y bis MTY probiert.
Irgenwie mag er das Datum nicht entweder die Spalte bleibt leer oder die
ganze Tabelle bleibt leer.
Wer kann mir weiterhelfen ?
Danke
Ernst
Hi Ernst,

wenn Du VBA unbedingt vermeiden willst, kannst Du auch innerhalb
Deiner Tabelle den String '8/25/2005' mit TEIL und FINDEN Funktionen
(werden ein Haufen innerhalb verschachtelter, wenn alles in eine Zelle
soll) erst zerhackzeln und dann wieder mit DATUM ein Datum erzeugen.

Marcus.

Loading...