Freigeben über


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