Applies ToAccess для 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

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

Вираз

Результати

=IIf([Код_аеропорту]="ORD","Чікаго",IIf([Код_аеропорту]="ATL","Атланта",IIf([Код_аеропорту]="SEA","Сієтл","Інше")))

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

=IIf([Дата_доставки]<Date(),"Доставлено",IIf([Дата_доставки]=Date(),"Доставляється сьогодні","Не доставлено"))

Якщо [Дата_доставки] передує сьогоднішній даті, повертається значення "Доставлено". У іншому випадку, якщо [Дата_доставки] відповідає сьогоднішній даті, повертається значення "Доставляється сьогодні". У іншому випадку повертається значення "Не доставлено".

=IIf([Дата придбання]<#01.01.2008#,"Старий","Новий")

Якщо [Дата придбання] передує 01.01.2008, повертається значення "Старий". У іншому випадку повертається значення "Новий".

=IIf(Обчислення([Вольт] між 12 та 15 й [Ампер] між 0,25 та 0,3),"OK","Не відкалібровано")

Якщо [Вольт] між 12 та 15 й [Ампер] між 0,25 та 0,3, повертається значення "OK". У іншому випадку повертається значення "Не відкалібровано".

=IIf(Обчислення([Країна] у ("Канада","США","Мексика")),"Північна Америка","Інше")

Якщо [Країна] – це "Канада","США" або "Мексика", повертається значення "Північна Америка". У іншому випадку повертається значення "Інше".

=IIf([Середнє]>=90,"A",IIf([Середнє]>=80,"B",IIf([Середнє]>=70,"C",IIf([Середнє]>=60,"D","F"))))

Якщо [Середнє] – це 90 або більше, повертається значення "A". У іншому випадку, якщо [Середнє] – це 80 або більше, повертається значення "B". У іншому випадку, якщо [Середнє] – це 70 або більше, повертається значення "C". У іншому випадку, якщо [Середнє] – це 60 або більше, повертається значення "D". У іншому випадку повертається значення "F".

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

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

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

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

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