Создание условных (логических) выражений

В этой статье объясняется, как создавать условные (также известные как булевистые) выражения в Access. Условное выражение возвращает истинное или ложное, а затем возвращает результат, который соответствует заведуемом условию. При использовании функций в условных выражениях можно также указать действие для значений, которые выполняют и не отвечают условию в выражении. Например, можно создать выражение, которое находит все продажи с доходом не менее 10 процентов, а затем указать, что эти числа отображаются красным цветом, или заменить значения сообщением.

В этой статье

Понимание условных выражений

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

Условные выражения принимают ту же форму и используют тот же базовый синтаксис, что и другие выражения, и их можно использовать так же, как и другие выражения.

  • Для полей таблицы выражение добавляется в свойство "Правило проверки" поля. После этого пользователи должны ввести в поле значения, которые соответствуют условиям в выражении. Например, если в поле "Дата/время" используется выражение >=#1/01.2000#, пользователи должны ввести значения, равные или позднее 1 января 2000 г.

  • Для элементов управления в формах выражение можно добавить в свойство "Источник элементов управления" или "Правило проверки". Как правило, к свойству "Правило проверки" добавляются условные выражения, которые вычисляют значения. Например, использование >=#1/01.2000# в свойстве "Правило проверки" для управления не позволяет пользователям вводить недействительные даты. При использовании выражения, такого как Date() в свойстве "Control Source", текущая дата отображается как значение по умолчанию.

  • Для запросов можно добавить условные выражения в пустую ячейку в строке "Поле" или использовать выражение в строке условий запроса. При использовании выражения в строке "Поле" результаты отображаются в результатах запроса в качестве столбца. Если выражение используется в качестве условия для существующего поля, выражение действует как фильтр и ограничивает количество возвращаемой записей.

    Например, это выражение можно использовать в строке "Поле" запроса: =IIf([Дата заказа]<=#04/01.2018#,[Дата заказа];"Заказвведен после 1 апреля"). Выражение определяет критерий даты (<=#04/01.2018#). При выполнения запроса отображаются все значения дат, которые соответствуют этому критерию, а все значения дат, которые не соответствуют этому критерию, заменяются сообщением "Заказ введен после 1 апреля". Действия, которые нужно предпринять, чтобы добавить выражение в запрос, поясняют, как использовать его в запросе.

    С другой стороны, использование этого выражения в поле "Условия" запроса возвращает только те записи с датами, которые соответствуют этому критерию: Bet#04/01.2018# AND #05/15.2018#.

Дополнительные сведения о создании и использовании выражений см. в статье "Создание выражений".

К началу страницы

Создание условного выражения

В этом разделе объясняется, как добавить условное выражение в таблицу, к оклю управления в форме или отчете, а также к запросу. В каждом наборе шагов используется несколько свое выражение для проверки значений в поле даты и времени и принятия мер в зависимости от того, соответствуют ли значения даты заданному условию.

Добавление выражения в поле таблицы

  1. В области навигации щелкните правой кнопкой мыши таблицу, которую требуется изменить, и в контекстном меню выберите пункт Конструктор.

  2. В столбце "Тип данных" выберите поле "Дата/время".

  3. В области "Свойства поля"на вкладке "Общие" щелкните поле свойства "Правило проверки" и введите следующее выражение:

    >=#01.01.2000 #

    Примечание: Формат даты для США использовать не нужно. Вы можете использовать формат даты для своей страны или региона или региона. Однако необходимо окружить значение даты знаками фунта(#),как показано на этом видео.

  4. Щелкните столбец рядом с текстом проверки и введите следующую текстовую строку:

    Дата должна быть больше 1 января 2000 г.

    Вы также можете использовать локальный формат даты.

  5. Сохраните изменения и переключиться в представление таблицы. Для этого щелкните правой кнопкой мыши вкладку документа для таблицы и выберите в shortcut-меню пункт "Таблица".

  6. Введите значение даты в поле "Дата/время" до 1 января 2000 г. Access отобразит сообщение, указанное в поле свойства "Правило проверки", и вы не сможете выйти из этого поля, если не ввести значение, которое выражение оценит как истинное.

Добавление выражения в один из хим.

  1. В области навигации щелкните правой кнопкой мыши форму, которую вы хотите изменить, и выберите в меню пункт "Конструктор".

  2. Щелкните правой кнопкой мыши кнопку управления, привязанную к полю "Дата/время", и выберите в меню пункт "Свойства".

    Появится лист свойств для этого управления.

  3. На вкладке "Данные" или "Все" щелкните поле рядом с полем "Правило проверки" и введите следующее выражение:

    >=#01.01.2000 #

    Примечание: Формат даты для США использовать не нужно. Вы можете использовать формат даты для своей страны или региона или региона. Однако необходимо окружить значение даты знаками фунта(#),как показано на этом видео.

  4. Щелкните столбец рядом с текстом проверки и введите следующую текстовую строку:

    Дата должна быть больше 1 января 2000 г.

  5. Сохраните изменения и переключиться обратно в представление формы. Для этого щелкните правой кнопкой мыши вкладку документа для формы и выберите в shortcut-меню пункт "Вид формы".

Добавление выражения в запрос

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

  2. Щелкните пустую ячейку в строке "Поле" бланка и введите следующее выражение:

    =IIf([Field_Name]<=#04.01.2018# , [Field_Name ] , "Дата позднее 1 апреля2018 г.")

    По мере того как вы введите выражение, замените оба Field_Name именами полей даты и времени. Кроме того, если в таблице нет дат до 1 апреля 2018 г., измените даты в выражении для работы с данными.

  3. Сохраните изменения и нажмите кнопку "Выполнить", чтобы просмотреть результаты.

Выражение работает следующим образом: первый аргумент(=IIf([Field_Name]<=#04/01.2018#) определяет условие, которое должно соответствовать данным — даты должны быть не раньше 1 апреля 2018 г. Второй аргумент([ Field_Name]) указывает, что пользователи видят, когда условие истинно — даты в поле. Третий аргумент ("Дата позднее 1 апреля2018 г.")указывает сообщение, которое пользователи видят, если данные не соответствуют условию.

Помните, что не все условные выражения используют функцию IIf. Кроме того, следует помнить, что функция IIf — это часть выражения, которая требует аргументов, а не само выражение.

Дополнительные сведения о выражениях и способах их использования см. в статье "Создание выражений".

К началу страницы

Примеры условных выражений

Выражения, показанные в следующей таблице, показывают некоторые способы вычисления значений "Истина" и "Ложь". Эти выражения используют функцию IIf (немедленное если) для определения истинности условия или его истинности, а затем возвращают одно значение, если условие истинно, и другое, если условие ложно.

Дополнительные сведения см. в статье "Функция IIf".

Выражение

Описание

=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed")

Если поле "Подтверждено" имеет значение "Да", отображается сообщение "Заказ подтвержден"; в противном случае отобразилось сообщение "Заказ не подтвержден".

=IIf(IsNull([Country/region])," ", [Country/region])

Если значение поля "Страна/регион" имеет значение Null, отображается пустая строка. в противном случае отображается значение поля "Страна/регион".

=IIf(IsNull([Region]),[City]&" "& [PostalCode], [City]&" "&[Region]&" " &[PostalCode])

Отображение значений полей "Город" и "Индекс", если поле "Регион" имеет значение Null; в противном случае отображаются значения полей "Город", "Регион" и "Индекс".

=IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

Если в результате вычитания значения поля "ДатаГрузки" из поля "Срок" вычитается значение Null, отображается сообщение "Проверьте отсутствующие даты"; в противном случае отображается разница между значениями полей RequiredDate и ShippedDate.

К началу страницы

Нужна дополнительная помощь?

Совершенствование навыков работы с Office
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×