Umwandlung des Datumliterals Engl./Deutsch

Hall zusammen!

txt1 = Format(txt1, „dddd dd. mmmm yyyy“)
oder
txt1 = Format(txt1, „long date“)

Bei der Eingabe eines Datums in die Textbox mit Punkten (z.B. 12.12.01) ergibt die Umwandlung in ein langes Datumliteral ein unsinniges Datum

Der Grund ist - so postet mir JJ_Letho - das Datumsformat. Er schreibt:

„Die Eingabe geschieht im Format TT.MM.JJ, die Funktion „Format“ erwartet (bei VBA-Makros) allerdings das Format MM/TT/JJ - also amerikanisch, wenn du z.b. 10/10/10 eingibst, erhältst du die richtige Ausgabe.“

Kann man die Systemeinstellung derart verändern, daß die Eingabe 12.12.01 ordnungsgemäß in ein Langdatum umgewandelt wird oder kann man während der Eingabe des Datums 12.12.01 in die Textbox den jeweils eingegebenen Punkt in einen Schrägstrich umwandeln?
Gruß
Wilhelm

Hallo Wilhelm,

txt1 = Format(txt1, „dddd dd. mmmm yyyy“)
oder
txt1 = Format(txt1, „long date“)

Bei der Eingabe eines Datums in die Textbox mit Punkten (z.B.
12.12.01) ergibt die Umwandlung in ein langes Datumliteral ein
unsinniges Datum

also bei mir funktioniert es sowohl unter VB6, also auch unter VBA einwandfrei. Die Ländereinstellungen sind bei mir auf „Deutschland“.

Beschreib Dein Problem bitte nochmal genauer.

Gruß

Sculpture

hallo,

es gibt auch noch die

FormatDateTime([Expression], [DateFormat])

Funktion

txt.text = FormatDateTime(txt.Text, vbLongDate)

vielleicht klappts damit.

Gruss CO

Hallo CO,
Dein Vorschlag funktioniert auch nicht; da meine Prozedur auf anderen Rechnern mit der Eingabe von Punkten funktioniert, kann das Problem wohl nur in meiner Visual Basic Version oder in irgendeiner Einstellungsvariante liegen. Ich muß weitersuchen.
Gruß
Wilhelm

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]