Створення умовних (логічних) виразів

У цій статті описано створення умовних (або логічних) виразів. Умовний вираз має значення «Істина» або «Хибність», а потім повертає результат, який відповідає визначеній умові. У разі використання функцій в умовних виразах можна також визначити дію для значень, які відповідають або не відповідають умові у виразі. Наприклад, можна створити вираз, який знаходить усі продажі з відсотком прибутку в 10 або більше відсотків, а потім визначити, щоб ці числа відображалися червоним, або замінити значення повідомленням.

У цій статті


Умовні вирази

Умовний вираз — це тип виразу, який перевіряє дані на відповідність певній умові, а потім виконує дію залежно від результату. Наприклад, вираз може шукати значення дат, пізніші за визначену дату початку, після чого при спробі ввести дату, яка передує визначеній даті початку, відображується помилка.

Умовні вирази мають ту саму форму та використовують той самий основний синтаксис, тому їх можна використовувати так само, як і інші вирази:

  • Якщо це поле таблиці, вираз додається до властивості поля Правило перевірки. Користувачі мають вводити в полі значення, які відповідають умовам виразу. Наприклад, якщо використовується такий вираз, як >=#1/1/1900#, у полі «Дата й час», користувачі мають вводити значення, які дорівнюють або настають пізніше за 1 січня 1900 року.
  • Якщо це елемент керування у формі, можна додати вираз до властивості Джерело елементів керування або Правило перевірки цього елемента керування. Зазвичай умовні вирази додаються до властивості Правило перевірки, а вирази, які обчислюють значення, додаються до властивості Джерело елемента керування. Наприклад, якщо властивість елемента керування Правило перевірки має значення >=#1/1/1900#, це не дозволяє користувачам вводити неприпустиму дату. Використання такого виразу, як Date(), у властивості Джерело елемента керування відображає поточну дату як значення за промовчанням.
  • Якщо це запит, можна додати умовні записи до пустої клітинки в рядку Поле або можна використати вираз у рядку Критерії запиту. Якщо вираз використовується в рядку Поле, результати відображаються як стовпець у результатах запиту. Якщо вираз використовується як критерій наявного поля, вираз діє як фільтр і обмежує записи, які повертає запит.

Наприклад, можна використати цей вираз у рядку запиту Поле: =IIf([Дата замовлення]<=#04/01/2003#,[Дата замовлення],"Замовлення, введене після 1 квітня"). Цей вираз визначає критерії дати (<=#04/01/2003#). Під час запуску запиту він відображає всі значення дати, які відповідають цьому критерію, а будь-які значення дати, які не відповідають цьому критерію, замінюються повідомленням «Замовлення, введене після 1 квітня». Кроки в розділі Додавання виразу до запиту пояснюють використання цього виразу в запиті.

У свою чергу використання цього виразу в полі Критерії запиту повертає лише ті записи з датами, які відповідають критерію: Between #04/01/2003# AND #05/15/2003#.

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

На початок сторінки На початок сторінки

Створення умовного виразу

Кроки в цьому розділі описують додавання умовного виразу до таблиці, елемента керування у формі або звіті та до запиту. Кожна послідовність кроків використовує дещо інакший вираз для перевірки значень у полі «Дата й час» і виконує дію залежно від того, чи відповідають значення дати визначеній умові.

Додавання виразу до поля таблиці

  1. В області переходів клацніть правою кнопкою миші таблицю, яку слід змінити, і виберіть у контекстному меню пункт Конструктор.
  2. У стовпці Тип даних виберіть поле «Дата й час».
  3. В області Властивості поля на вкладці Загальні клацніть поле властивості Правило перевірки та введіть такий вираз:

>=#01/01/1900#

 Примітка   Не обов’язково використовувати формат дати США. Можна використовувати формат дати своїх країни, регіону або мови. Проте значення дати слід охопити символами діеза (#), як показано тут.

  1. Клацніть стовпець поруч із полем Текст перевірки та введіть наступний рядок:

Дата має бути більшою за 1 січня 1900 року.

Тут теж можна використовувати місцевий формат дати.

  1. Збережіть зміни та перейдіть до подання таблиці. Для цього клацніть правою кнопкою вкладку документа таблиці, а потім виберіть у контекстному меню пункт Подання таблиці.
  2. Введіть значення дати в полі «Дата й час», яка передує 1 січню 1900 року. Відображається повідомлення, введене в полі властивості Правило перевірки, і не можна залишити це поле, якщо значення не відповідає умові виразу.

Додавання виразу до елемента керування

  1. В області переходів клацніть правою кнопкою миші форму, яку потрібно змінити, і виберіть у контекстному меню пункт Конструктор.
  2. Клацніть правою кнопкою миші елемент керування, приєднаний до поля «Дата й час», а потім виберіть у контекстному меню пункт Властивості.

Відображається аркуш властивостей цього елемента керування.

  1. На вкладці Дані або Усі клацніть поле поруч із полем Правило перевірки та введіть такий вираз:

>=#01/01/1900#

 Примітка   Не обов’язково використовувати формат дати США. Можна використовувати формат дати своїх країни чи регіону або мови. Проте значення дати слід охопити символами діезу (#), як показано тут.

  1. Клацніть стовпець поруч із полем Текст перевірки та введіть наступний рядок:

Дата має бути більшою за 1 січня 1900 року.

  1. Збережіть зміни та перейдіть до подання форми. Для цього клацніть правою кнопкою вкладку документа форми, а потім виберіть у контекстному меню пункт Подання форми.

Додавання виразу до запиту

  1. В області переходів клацніть правою кнопкою миші запит, який слід змінити, і виберіть у контекстному меню пункт Конструктор.
  2. Клацніть пусту клітинку в рядку Поле в сітці конструктора та введіть такий вираз:

=IIf([Ім’я поля]<=#01/04/2003# , [Ім’я поля] , "Дата після 1 квітня 2003 року")

Під час введення виразу переконайтеся в тому, що ви замінили обидва рядки Ім’я поля іменем поля «Дата й час». Також, якщо таблиця не містить дат до 1 січня 2004 року, змініть дати у виразі, щоб працювати зі своїми даними.

  1. Збережіть зміни, а потім натисніть кнопку Виконати, щоб переглянути результати.

Вираз працює таким чином. Перший аргумент (=IIf([Ім’я поля]<=#01/01/2004#) визначає умову, якій мають відповідати дані — дати мають бути не пізніше 1 квітня 2003 року. Другий аргумент ([Ім’я поля]) визначає те, що користувачі бачитимуть, якщо умова істинна, — дати в полі. Третій аргумент (ата після 01-01-2004")) визначає повідомлення, яке бачать користувачі, коли дані не відповідають умові.

Надалі слід пам’ятати, що не всі умовні вирази використовують функцію IIf. Також слід пам’ятати, що функція IIf є частиною виразу, яка вимагає аргументи, а не самим виразом.

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

На початок сторінки На початок сторінки

Приклади умовних виразів

Вирази в нижченаведеній таблиці відображають кілька способів обчислення істинних і хибних значень. Ці вирази використовуються функцією IIf (Immediate If) для визначення того, чи є умова істинною або хибною, а потім повертають одне значення, якщо умова істинна, та інше значення, якщо умова хибна.

Для отримання додаткових відомостей див. статтю Функція IIf.

Вираз Опис
=IIf([Підтверджено] = "Так", "Замовлення підтверджено", "Замовлення не підтверджено") Відображає повідомлення «Замовлення підтверджено», якщо поле «Підтверджено» має значення «Так»; в іншому випадку вираз відображає повідомлення «Замовлення не підтверджено».
=IIf(IsNull([Країна та регіон])," ", [Країна та регіон]) Відображає пустий рядок, якщо поле «Країна та регіон» має значення Null Null. Значення, яке можна ввести в полі або використовувати у виразах і запитах для позначення відсутніх або невідомих даних. У Visual Basic ключове слово Null вказує на значення Null. Деякі поля, такі як поля первинного ключа, не можуть містити значення Null.; в іншому випадку вираз відображає значення поля «Країна та регіон».
=IIf(IsNull([Регіон]),[Місто]&" "& [Поштовий індекс], [Місто]&" "&[Регіон]&" " &[Поштовий індекс]) Відображає значення полів «Місто» та «Поштовий індекс», якщо поле «Регіон» має значення Null; в іншому випадку вираз відображає значення полів «Місто», «Регіон» і «Поштовий індекс».
=IIf(IsNull([Обов’язкова дата] - [Дата доставки]), "Перевірте пропущену дату", [Обов’язкова дата] - [Дата доставки]) Відображає повідомлення «Перевірте пропущену дату», якщо результат віднімання значення поля «Дата доставки» від поля «Обов’язкова дата» має значення Null; в іншому випадку відображається різниця між значеннями полів «Обов’язкова дата» та «Дата доставки».

На початок сторінки На початок сторінки

 
 
Застосовується до:
Access 2007