Да.
Вы можете вложить до 14 IIf
операторов, прежде чем Jet / ACE пожалуется, что «Выражение слишком сложное». Нет аналогичного ограничения на функцию VBA IIf
.
Поскольку вы используете это в источнике управления формы, Access будет оценивать это с помощью своей службы выражений (которая по существу обрабатывает ее, как если бы она была частью запроса Jet / ACE), поэтому будет применяться 14 уровней ограничения вложенности .
Обратите внимание, что я упоминал Jet / ACE IIf
как оператор и VBA IIf
как функцию . Хотя эти термины иногда используются свободно, они имеют точное значение. IIf
оператор Jet / ACE является истинным троичным оператором . В результате он, как правило, более эффективен, чем одноименная функция VBA, и не страдает от возможных побочных эффектов .