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

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

В этой статье

Общие сведения об условных выражениях

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

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

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

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

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

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

    В отличие от этого, при использовании этого выражения в поле Условия запроса возвращаются только те записи с датами, которые соответствуют условию : Between #01/01/2018# и #05/15/2018#.

Дополнительные сведения о создании и использовании выражений см. в статье Обучение созданию выражения.

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

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

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

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

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

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

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

    >=#01/01/2000#

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

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

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

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

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

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

Добавление выражения в элемент управления

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

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

    Откроется страница свойств элемента управления .

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

    >=#01/01/2000#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выражение

Описание

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

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

=IIf(IsNull([Страна/регион])," ", [Страна/регион])

Отображает пустую строку, если значение поля Страна или регион равно NULL; В противном случае отображается значение поля Страна или регион.

=IIf(IsNull([Region]),[City]&" "& [Почтовый код], [Город]&" "&[Регион]&" " &[Почтовый индекс])

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

=IIf(IsNull([RequiredDate] - [ShippedDate]), "Проверьте наличие отсутствующих дат", [RequiredDate] - [ShippedDate])

Отображает сообщение "Проверьте отсутствие даты", если результат вычитания значения поля ShippedDate из поля RequiredDate имеет значение NULL; В противном случае отображается разница между значениями полей RequiredDate и ShippedDate.

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

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

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

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

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

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

×