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]

Antwort per Email an