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