Compartir a través de


IIF( ) (Función)

Devuelve uno de los dos valores dependiendo del valor de una expresión lógica.

IIF(lExpression, eExpression1, eExpression2)

Valores devueltos

Character, Numeric, Currency, Date, o DateTime

Parámetros

  • lExpression
    Especifica la expresión lógica evaluada por IIF( ).
  • eExpression1, eExpression2
    Si lExpression se evalúa con el valor verdadero (.T.), se devolverá eExpression1. Si lExpression se evalúa con el valor falso (.F.), se devolverá eExpression2.

Observaciones

Esta función, conocida también como IF Inmediato, evalúa una expresión lógica y devuelve a continuación una de las dos expresiones. Si la expresión lógica se evalúa con el valor verdadero (.T.), IIF( ) devolverá la primera expresión. Si la expresión lógica se evalúa con el valor falso (.F.), IIF( ) devolverá la segunda expresión.

Sugerencia   Esta función puede utilizarse en lugar de IF ... ENDIF para expresiones condicionales simples y es especialmente útil en expresiones de etiquetas e informes que especifican condicionalmente el contenido de campos. La función IIF( ) se ejecuta, además, considerablemente más rápido que la estructura IF ... ENDIF equivalente.

Ejemplo

Este ejemplo utiliza IIF( ) para comprobar si el campo notes en employee está vacío. Si está vacío, se mostrará "No hay descripción"; de lo contrario, se mostrará el contenido del campo memo.

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

Vea también

IF ... ENDIF | #IF ... #ENDIF (Directiva del preprocesador) | Instrucciones IF