Функция IIF()

Возвращает одно из двух значений, в зависимости от значения данного логического выражения.

Синтаксис:

IIF(lExpression, eExpression1, eExpression2)

Параметры:
lExpression
Задает логическое выражение, вычисляемое функцией IIF( ).
eExpression1, eExpression2
Если выражение lExpression имеет значение "истина" (.T.), возвращается eExpression1. Если lExpression имеет значение "ложь" (.F.), возвращается eExpression2.

Результат:
Типа Character, Numeric, Currency, Date или DateTime.

Комментарии:
Данная функция (известная также как "Непосредственное IF") вычисляет логическое выражение и затем возвращает одно из двух заданных выражений. Если логическое выражение имеет значение "истина" (.T.), функция IIF( ) возвращает первое выражение из двух. Если логическое выражение имеет значение "ложь" (.F.), IIF( ) возвращает второе выражение.
Совет. Эту функцию можно использовать вместо конструкции IF ... ENDIF при вычислении простых условных выражений, она особенно удобна при работе с выражениями отчетов и этикеток, которые условно задают содержимое полей. Помимо прочего, функция IIF( ) работает гораздо быстрее, чем эквивилентная ей конструкция IF ... ENDIF.

Пример:

* В следующем примере функция IIF( ) используется для проверки поля
* described в таблице category. Если это поле пусто, на экран выдается
* фраза "No description" [Нет описания]; в противном случае отображается
* содержимое memo-поля.

CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE employee		&& Open Employee table
CLEAR

SCAN
	? IIF(EMPTY(notes), 'No notes', notes)	&& Empty memo field?
ENDSCAN

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 02.02.2003