IIF( )-Funktion
Gibt einen von zwei Werten zurück, abhängig vom Wert eines logischen Ausdrucks.
IIF(lExpression, eExpression1, eExpression2)
Rückgabewerte
Zeichen, Numerisch, Währung, Datum oder DatumZeit
Parameter
- lExpression
Gibt den logischen Ausdruck an, der von IIF( ) ausgewertet wird. - eExpression1, eExpression2
Wenn lExpression als Wahr (.T.) ausgewertet wird, wird eExpression1 zurückgegeben. Wenn lExpression als Falsch (.F.) ausgewertet wird, wird eExpression2 zurückgegeben.
Hinweise
Diese Funktion (IIF - Immediate If) wertet einen logischen Ausdruck aus und gibt dann einen von zwei Ausdrücken zurück. Wenn die Auswertung des logischen Ausdrucks den Wert Wahr (.T.) ergibt, gibt IIF( ) den ersten Ausdruck zurück. Wenn die Auswertung des logischen Ausdrucks den Wert Falsch (.F.) ergibt, gibt IIF( ) den zweiten Ausdruck zurück.
Tipp Diese Funktion kann bei einfachen Bedingungsausdrücken anstelle von IF ... ENDIF verwendet werden. Sie ist besonders nützlich bei Berichts- und Etikettenausdrücken, die Feldinhalte abhängig von einer Bedingung angeben. Die IIF( )-Funktion wird außerdem schneller ausgeführt als ein entsprechender IF ... ENDIF-Befehl.
Beispiel
Im folgenden Beispiel wird IIF( ) verwendet, um zu überprüfen, ob das Feld notes
der Tabelle employee
leer ist. Ist dies der Fall, wird die Meldung "No Notes" angezeigt; ansonsten wird der Inhalt des Memofeldes angezeigt.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE employee && Open Employee table
CLEAR
SCAN
? IIF(EMPTY(notes), 'No notes', notes) && Empty memo field?
ENDSCAN
Siehe auch
IF ... ENDIF | #IF ... #ENDIF-Präprozessoranweisung | IF-Anweisungen