Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Malycor am 09.09.10 - 10:02:13

Titel: Datumsfeld (Vorgabe ändern)
Beitrag von: Malycor am 09.09.10 - 10:02:13
Guten morgen liebe atnotes User,

ich sehe mal wieder vor lauter Bäumen den Wald nicht mehr und brauche noch einmal einen passenden Tip, in welche Richtung ich gucken muss.

Folgendes kleines Thema:

Ich habe in meiner Maske 2 Date/Time Felder - DATE_1 (editierbar) und DATE_2 (berechnet zur Anzeige) Nun soll auf dem Feld DATE_2 ein Vorgabedatum sein bsp. mit @Date(2099; 12; 31)
aber nur, wenn DATE_1 kein Datum enthält. Andernfalls soll dort auch das Datum von DATE_1 erscheinen.

Meint Ihr ich bekomme das hin? Kann doch nicht so schwer sein?  :-:
Für jeden Tip bin ich Euch sehr dankbar.

VG Olaf
Titel: Re: Datumsfeld (Vorgabe ändern)
Beitrag von: Peter Klett am 09.09.10 - 10:22:02
@If (@Text (Date_1) = ""; @Date (2099; 12; 31); Date_1)
Titel: Re: Datumsfeld (Vorgabe ändern)
Beitrag von: cebolina am 09.09.10 - 10:22:27
Probier mal:

@If(@IsTime(DATE_1) ; DATE_1 ; @Date(2099 ; 12 ; 31))

Gruß Stefan
Titel: Re: Datumsfeld (Vorgabe ändern)
Beitrag von: Malycor am 09.09.10 - 10:56:46
So einfach sieht also die Formel aus?
Ich fass es nicht, was ich mir da ursprünglich mal versucht hatte zu stricken  :-[
Danke es funktiniert!
Titel: Re: Datumsfeld (Vorgabe ändern)
Beitrag von: cebolina am 09.09.10 - 14:13:32
So einfach sieht also die Formel aus?
Ja, mehr ist das nicht.

Ich versuch mal, die Formeln zu "übersetzen" (ist für Neulinge möglicherweise hilfreich).

Code
@If(@IsTime(DATE_1) ; DATE_1 ; @Date(2099 ; 12 ; 31))
Wenn der Wert im Feld "DATE_1" ein gültiger Datum/Zeit-Wert ist, dann nimm diesen Wert, ansonsten nimm "31.12.2099" und mach ein Datum daraus.

Die Formel von Peter kommt zum selben Ergebnis:
Code
@If (@Text (Date_1) = ""; @Date (2099; 12; 31); Date_1)
Wenn der in Text umgewandelte Wert im Feld "DATE_1" leer ist (= ""), dann nimm "31.12.2099" und mach ein Datum daraus, ansonsten nimm den Wert, der im Feld "DATE_1" steht.

Wenn mit dem Anzeige-Feld in der Maske nicht weiter gerechnet wird, würde sich vielleicht auch ein "berechneter Text" anbieten. Die Formel hierfür lautet:
Code
@If(@IsTime(DATE_1) ; @Text(@Date(DATE_1)) ; "31.12.2099")

Gruß Stefan