Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: ThomasHB am 14.04.11 - 11:02:42

Titel: If must have an odd number of Arguments?
Beitrag von: ThomasHB am 14.04.11 - 11:02:42
Hallo Zusammen,

folgender Code macht mir irgendwie Probleme...

Code
@If(!@IsNewDoc;
	Datum_heute:=@Date(@Now);
	Datum_Anstellung:=F_DT_S;
	Dabei:=((Datum_heute-Datum_Anstellung) /60 /60 /24 /365);
	@Integer(Dabei);
"")

Die Rückmeldung ist: @IF must have an odd number of Arguments???

Wenn ich in einer Zeile schreibe:

Code
@If(!@IsNewDoc;Action1;"")

Dann klappt das doch auch... Verstehe die Meldung deshalb nicht.

Was ist denn da falsch?

Grüße,
Thomas
Titel: Re: If must have an odd number of Arguments?
Beitrag von: Glombi am 14.04.11 - 11:04:47
Probiers mal mit

@If(!@IsNewDoc;
@Do(
   Datum_heute:=@Date(@Now);
   Datum_Anstellung:=F_DT_S;
   Dabei:=((Datum_heute-Datum_Anstellung) /60 /60 /24 /365);
   @Integer(Dabei)
);
"")

Titel: Re: If must have an odd number of Arguments?
Beitrag von: Thomas Schulte am 14.04.11 - 11:44:36
Code
@If(!@IsNewDoc;
	Datum_heute:=@Date(@Now);
	Datum_Anstellung:=F_DT_S;
	Dabei:=((Datum_heute-Datum_Anstellung) /60 /60 /24 /365);
	@Integer(Dabei);
"")
Und als Erklärung:
Deine Anweisung sagt dem @If wörtlich ...

Wenn du kein neues Dokument bist dann setze Datum_heute. Trifft die erste Bedingung nicht zu, dann Prüfe ob. ....

@If hat immer folgenden Aufbau:
Bedingung; Wenn wahr dann; sonst ...

Man kann @if aber auch mit mehreren Bedingungen verbinden. Das geht dann so:
Bedingung; Wenn wahr dann; Bedingung2; Wenn wahr dann; Bedingung 3; wenn wahr dann; sonst.

Der Trenner für die Bedingungen ist der ";". Wenn du also komplexere Formeln im "Wenn wahr dann" Teil verwenden willst, dann musst du die immer zusammenfassen. Und das geht mit @Do, wie es dir Andreas schon gezeigt hat.
Titel: Re: If must have an odd number of Arguments?
Beitrag von: ThomasHB am 14.04.11 - 12:05:42
OK, wieder was dazu gelernt.

Danke.  :)

Gruß,
Thomas