Застосовується до
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Повертає одну з двох частин, залежно від результату обчислення виразу.

Функцію IIf можна використовувати скрізь, де можна використовувати вирази. Функцію IIf можна використати, щоб визначити істинність або хибність іншого виразу. Якщо значення виразу – True, то функція IIf повертає одне значення, а якщо значення виразу – False, функція IIf повертає інше значення. Значення, які повертає функція IIf, визначаєте ви.

Розглянемо кілька прикладів

Синтаксис

IIf ( вираз , якщо_істина , якщо_хибність )

Синтаксис функції IIf має такі аргументи:

Аргумент

Опис

expr

Обов’язковий аргумент. Вираз, який потрібно обчислити.

якщо_істина

Обов’язковий аргумент. Значення або вираз, що повертається, якщо вираз має значення True (істина).

якщо_хибність

Обов’язковий аргумент. Значення або вираз, що повертається, якщо вираз має значення False (хибність).

Примітки

Функція IIf завжди обчислює значення якщо_істина та якщо_хибність, навіть якщо повертає лише одне з них. Тому потрібно зважати на небажані побічні ефекти. Наприклад, якщо в результаті обчислення значення якщо_хибність виникла помилка через ділення на нуль, помилка виникне, навіть якщо вираз має значення True.

Приклади

Використання функції IIf у формі або звіті    Припустімо, у вас є таблиця "Клієнти", яка містить поле "Країна або регіон". У формі потрібно окномітити, чи італійська – перша мова контакту. Ви можете додати елемент керування та використовувати функцію IIf у властивості Джерело елемента керування , наприклад:

=IIf([Країна]="Італія", "Італійська", "Інша мова")

Якщо відкрити форму в поданні форми, елемент керування відображатиме "Італійська", якщо значення поля "Країна" – "Італія", та "Інша мова", якщо для поля "Країна" задано інше значення.

Використання функції IIf у складних виразах    Будь-який вираз можна використовувати як будь-яку частину інструкції IIf . Також можна "вкласти" вирази IIf , що дає змогу обчислити ряд залежних виразів. Щоб продовжити роботу з попереднім прикладом, можна перевірити на наявність кількох різних значень країна або регіон, а потім відобразити відповідну мову залежно від того, яке значення існує:

=IIf([Країна]="Італія", "Італійська", IIf([Країна]="Франція", "Французька", IIf([Країна]="Німеччина", "Німецька", "Інша мова")))

Текст "Інша мова" – це аргумент, який має значення якщо_хибність внутрішньої функції IIf. Якщо кожна вкладена функція IIf – це аргумент, який має значення якщо_хибність у функції IIf, яка її містить, текст "Інша мова" повертається лише якщо всі аргументи виразу всіх функцій IIf обчислені як "False".

У іншому прикладі робота проводиться, наприклад у бібліотеці. У базі даних бібліотеки міститься таблиця "Взято на редагування", у якій є поле "Дата завершення", із зазначенням дати повернення певної книги. Ви можете створити форму, яка позначає стан взятого на редагування елемента в елементі керування, використовуючи функцію IIf у властивості Джерело елемента керування цього елемента керування, наприклад:

=IIf([Дата завершення]<Date(),"Прострочено",IIf([Дата завершення]=Date(),"Сьогодні", "Ще не завершилося"))

Якщо відкрити форму в поданні форми, елемент керування відобразить "Прострочено", якщо значення Дати завершення менше за поточну дату, "Сьогодні" якщо значення відповідає поточній даті й "Ще не завершилося" в іншому випадку.

Примітка.: Щоб використовувати логічні оператори, як-от "And" або "Or" в аргументі виразу функції IIf , потрібно взяти логічний вираз у функцію Eval . Перегляньте наведений нижче приклад таблиці.

Використання функції IIf у запиті   

Функція IIf часто використовується під час створення обчислюваних полів у запитах. Синтаксис залишається той самий, за винятком того, що в запиті на початку кожного виразу необхідно додавати псевдонім поля і двокрапку (:) замість знака рівності (=). Щоб використати попередній приклад, у рядок символів для сітки макета запиту Поле потрібно ввести:

Мова: IIf([Країна]="Італія", "Італійська", "Інша мова")

У цьому випадку "Мова" – це псевдонім поля.

Докладні відомості про створення запитів і обчислюваних полів див. в статті Створення простого вибіркового запиту.

Використання функції IIf у коді VBA    

Примітка.: У наведених нижче прикладах показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

У цьому прикладі функція IIfвикористовується для обчислення параметра TestMe у процедурі CheckIt й повертає слово "Великий", якщо величина перевищує значення "1000", у іншому випадку вона повертає слово "Маленький".

Function CheckIt (TestMe As Integer)
  CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

Додаткові приклади

  1. Вираз: =IIf([Код аеропорту]="ORD";"Чикаго";IIf([Код аеропорту]="ATL";"Атланта",IIf([Код аеропорту]="SEA","Сіетл";"Інше")))Результат: Якщо [Код_аеропорту] – "ORD", повертається значення "Чикаго". У іншому випадку, якщо [Код_аеропорту] – "ATL", повертається значення "Атланта". У іншому випадку, якщо [Код_аеропорту] – "SEA", повертається "Сієтл". У іншому випадку повертається значення "Інше".

  2. Вираз: =IIf([Дата_доставки]<Date();"Доставлено",IIf([Дата_доставки]=Date();"Доставка сьогодні";"Не доставлено"))Результат: Якщо [Дата доставки] передує сьогоднішній даті, повертається значення "Доставлено". У іншому випадку, якщо [Дата_доставки] відповідає сьогоднішній даті, повертається значення "Доставляється сьогодні". У іншому випадку повертається значення "Не доставлено".

  3. Вираз: =IIf([Дата придбання]<#01.01.2008#,"Стара","Нова")Результат: Якщо [Дата придбання] передує 01.01.2008, повертається значення "Стара". У іншому випадку повертається значення "Новий".

  4. Вираз: =IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3);"OK","Out of calibration")Result: Якщо [Вольт] – від 12 до 15, а [Ампер] – від 0,25 до 0,3, повертається значення "OK". У іншому випадку повертається значення "Не відкалібровано".

  5. Вираз: =IIf(Eval([Країна]In ("Канада";"США";"Мексика"));"Північна Америка","Інша")Результат: Якщо [Країна] – це "Канада", "США" або "Мексика", повертається значення "Північна Америка". У іншому випадку повертається значення "Інше".

  6. Вираз: =IIf([Середнє]>=90;"А";IIf([Середнє]>=80;"B";IIf([Середнє]>=70;"В";IIf([Середнє]>=60;"D";"F")))))Результат: Якщо [Середнє] – це 90 або більше, повертається значення "A". У іншому випадку, якщо [Середнє] – це 80 або більше, повертається значення "B". У іншому випадку, якщо [Середнє] – це 70 або більше, повертається значення "C". У іншому випадку, якщо [Середнє] – це 60 або більше, повертається значення "D". У іншому випадку повертається значення "F".

Примітка.: Якщо функція IIf використовується під час створення обчислюваних полів у запиті, замініть знак рівності (=) на псевдонім поля й двокрапку (:). Наприклад, Стан: IIf([Дата_доставки]<Date(),"Доставлено",IIf([Дата_доставки]=Date(),"Доставка сьогодні","Не доставлено"))

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.