Hallo André,
Andre Schnabel schrieb:
DAs Problem wird dadurch verursacht, dass der Funktionsaufruf
DateValue(Now)
nicht funktioniert, wenn man ein Schweizer Gebietsschema - z.B. deutsch
(Schweiz) oder Französisch (Schweiz) verwendet.
Bevor ich den Issue aufgebe möchte ich mich nur nochmal rückversichern,
ob das wirlich ein Fehler ist, oder ob ich hier den Funktionsaufruf
falsch interpretiere.
Ich kann bestätigen, dass DateValue(Now) einen Fehler liefert, wenn
man "Deutsch (Schweiz)", "Französisch (Schweiz)" oder auch "Deutsch
(Liechtenstein)" eingestellt hat. Mit anderen, zumindest mit vielen
anderen Einstellungen erhält man keine Fehlermeldung.
(Ich habe Win2K SP4 und Ubuntu Linux 5.10 mit OOo 2.0.2.)
Ob das aber ein Bug ist oder *wo* der eigentlich ist, finde ich
nicht so eindeutig, denn:
Laut Online-Hilfe soll das Argument der DateValue-Funktion ein
String sein. Und wenn man mit Schweizer Gebietsschema einen String
übergibt, dann funktioniert es auch, zum Beispiel:
DateValue("25.05.2006").
Wenn man dagegen fälschlicherweise eine Zahl übergibt, zum Beispiel
DateValue(32000), dann folgt der Laufzeitfehler "Unzulässiger Wert
oder Datentyp". Der selbe Fehler tritt bei DateValue(now) auf, weil
die Now-Funktion einen Date-Wert und keinen String liefert.
Somit verhält sich OOo mit Schweizer Gebietsschema genau richtig.
Der Fehler liegt im Programmcode! Würde sich der Programmierer an
die Spezifikation oder zumindest an die Online-Hilfe halten, so gäbe
es bei keiner Gebietsschema-Einstellung ein Problem.
Da aber OOo den fehlerhaften Code mit manchen Gebietsschemata ohne
Fehlermeldung verarbeitet, ist dem Programmierer sein eigener Fehler
nicht aufgefallen.
Ich frage mich nebenbei nach Sinn und Absicht des Autors bei
Verwendung des Statements DateValue(Now). DateValue liefert einen
Long-Wert. Now liefert das aktuelle Datum und die aktuelle Uhrzeit
als Date-Wert. Absicht ist also offenbar eine Typumwandlung vom Typ
Date in den Typ Long. Dafür gibt es die Typumwandlungsfunktion CLng
und folgendes Statement funktioniert bei allen Gebietsschemata:
CLng(Now)
Gruß
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]