Создание условных (логических) выражений
В этой статье объясняется, как создавать условные (также известные как булевистые) выражения в Access. Условное выражение возвращает истинное или ложное, а затем возвращает результат, который соответствует заведуемом условию. При использовании функций в условных выражениях можно также указать действие для значений, которые выполняют и не отвечают условию в выражении. Например, можно создать выражение, которое находит все продажи с доходом не менее 10 процентов, а затем указать, что эти числа отображаются красным цветом, или заменить значения сообщением.
В этой статье
- Понимание условных выражений
- Создание условного выражения
- Примеры условных выражений
Понимание условных выражений
Условное выражение — это тип выражения, которое проверяет, соответствует ли данные условию, и выполняет действие в зависимости от результата. Например, выражение может искать значения даты позже заданной даты начала, а затем выводить сообщение об ошибке при попытке ввести дату раньше заданной даты начала.
Условные выражения принимают ту же форму и используют тот же базовый синтаксис, что и другие выражения, и их можно использовать так же, как и другие выражения.
- Для полей таблицы выражение добавляется в свойство «Правило проверки» поля. После этого пользователи должны ввести в поле значения, которые соответствуют условиям в выражении. Например, если в поле «Дата/время» используется выражение >=#1/01.2000#, пользователи должны ввести значения, равные или позднее 1 января 2000 г.
- Для элементов управления в формах выражение можно добавить в свойство «Источник элементов управления» или «Правило проверки». Как правило, к свойству «Правило проверки» добавляются условные выражения, которые вычисляют значения. Например, использование >=#1/01.2000# в свойстве «Правило проверки» для управления не позволяет пользователям вводить недействительные даты. При использовании выражения, такого как Date() в свойстве «Control Source», текущая дата отображается как значение по умолчанию.
- Для запросов можно добавить условные выражения в пустую ячейку в строке «Поле» или использовать выражение в строке условий запроса. При использовании выражения в строке «Поле» результаты отображаются в результатах запроса в качестве столбца. Если выражение используется в качестве условия для существующего поля, выражение действует как фильтр и ограничивает количество возвращаемой записей. Например, это выражение можно использовать в строке «Поле» запроса: =IIf([Дата заказа]введен после 1 апреля»). Выражение определяет критерий даты (Bet#04/01.2018# AND #05/15.2018#.
Дополнительные сведения о создании и использовании выражений см. в статье «Создание выражений».
Создание условного выражения
В этом разделе объясняется, как добавить условное выражение в таблицу, к оклю управления в форме или отчете, а также к запросу. В каждом наборе шагов используется несколько свое выражение для проверки значений в поле даты и времени и принятия мер в зависимости от того, соответствуют ли значения даты заданному условию.
Добавление выражения в поле таблицы
- В области навигации щелкните правой кнопкой мыши таблицу, которую требуется изменить, и в контекстном меню выберите пункт Конструктор.
- В столбце «Тип данных» выберите поле «Дата/время».
- В области «Свойства поля»на вкладке «Общие» щелкните поле свойства «Правило проверки» и введите следующее выражение: >=#01.01.2000 #
Примечание: Формат даты для США использовать не нужно. Вы можете использовать формат даты для своей страны или региона или региона. Однако необходимо окружить значение даты знаками фунта(#),как показано на этом видео.
Добавление выражения в один из хим.
- В области навигации щелкните правой кнопкой мыши форму, которую вы хотите изменить, и выберите в меню пункт «Конструктор».
- Щелкните правой кнопкой мыши кнопку управления, привязанную к полю «Дата/время», и выберите в меню пункт «Свойства». Появится лист свойств для этого управления.
- На вкладке «Данные» или «Все» щелкните поле рядом с полем «Правило проверки» и введите следующее выражение: >=#01.01.2000 #
Примечание: Формат даты для США использовать не нужно. Вы можете использовать формат даты для своей страны или региона или региона. Однако необходимо окружить значение даты знаками фунта(#),как показано на этом видео.
Добавление выражения в запрос
- В области переходов щелкните правой кнопкой мыши запрос, который требуется изменить, и выберите в контекстном меню команду Конструктор.
- Щелкните пустую ячейку в строке «Поле» бланка и введите следующее выражение: =IIf([Field_Name]Field_Name ] , «Дата позднее 1 апреля2018 г.») По мере того как вы введите выражение, замените оба Field_Name именами полей даты и времени. Кроме того, если в таблице нет дат до 1 апреля 2018 г., измените даты в выражении для работы с данными.
- Сохраните изменения и нажмите кнопку «Выполнить», чтобы просмотреть результаты.
Помните, что не все условные выражения используют функцию IIf. Кроме того, следует помнить, что функция IIf — это часть выражения, которая требует аргументов, а не само выражение.
Дополнительные сведения о выражениях и способах их использования см. в статье «Создание выражений».
Примеры условных выражений
Выражения, показанные в следующей таблице, показывают некоторые способы вычисления значений «Истина» и «Ложь». Эти выражения используют функцию IIf (немедленное если) для определения истинности условия или его истинности, а затем возвращают одно значение, если условие истинно, и другое, если условие ложно.
Дополнительные сведения см. в статье «Функция IIf».
=IIf([Confirmed] = «Yes», «Order Confirmed», «Order Not Confirmed»)
Если поле «Подтверждено» имеет значение «Да», отображается сообщение «Заказ подтвержден»; в противном случае отобразилось сообщение «Заказ не подтвержден».
Если значение поля «Страна/регион» имеет значение Null, отображается пустая строка. в противном случае отображается значение поля «Страна/регион».
=IIf(IsNull([Region]),[City]&» «& [PostalCode], [City]&» «&[Region]&» » &[PostalCode])
Отображение значений полей «Город» и «Индекс», если поле «Регион» имеет значение Null; в противном случае отображаются значения полей «Город», «Регион» и «Индекс».
=IIf(IsNull([RequiredDate] — [ShippedDate]), «Check for a missing date», [RequiredDate] — [ShippedDate])
Если в результате вычитания значения поля «ДатаГрузки» из поля «Срок» вычитается значение Null, отображается сообщение «Проверьте отсутствующие даты»; в противном случае отображается разница между значениями полей RequiredDate и ShippedDate.
Добавление поля в форму или отчет
Текстовое поле — это стандартный элемент управления, используемый для просмотра и изменения данных в формах и отчетах Access. В полях могут отображаться различные типы данных, и их также можно использовать для вычислений. В этой статье объясняется, как создать и использовать поле, а также обсуждаются некоторые важные свойства текстовых полей.
В этой статье
- Добавление связанного текстового поля
- Добавление свободного текстового поля
- Добавление вычисляемого текстового поля
- Свойства текстового поля
Добавление связанного текстового поля
В связанном текстовом поле отображается информация из поля таблицы или запроса. В форме поле, связанное с обновляемой записью, можно использовать для ввода или изменения данных в поле. Вносимые в поле изменения будут отражены в базовой таблице.
Связанное поле можно быстро создать, перетащив поле из области Список полей в форму или отчет. Access автоматически создает текстовые поля для полей данных следующих типов:
- Короткий текст
- Длинный текст
- Число
- Дата/время
- Денежный
- Гиперссылка
- Вычисляемый
Примечание: Начиная с версии Access 2013, текстовые типы данных были переименованы в «Короткий текст», а тип данных MEMO —в «Длинный текст».
При перетаскивании полей других типов данных создаются различные типы элементов управления. Например, при перетаскивании в форму или отчет логического поля из области Список полей будет создан флажок. Если в форму или отчет перетаскивается поле типа «Поле объекта OLE», создается присоединенная рамка объекта, а при перетаскивании поля вложения создается элемент управления «Вложение».
Добавление связанного текстового поля в форму или отчет путем перетаскивания поля из области «Список полей»
- Откройте форму или отчет в режиме разметки или конструктора, щелкнув их правой кнопкой мыши в области навигации и выбрав нужное представление.
- На вкладке Конструктор в группе Сервис выберите пункт Добавить поля .
- В области Список полей разверните таблицу, содержащую поле данных, которое вы хотите связать с текстовым полем.
- Перетащите поле из области Список полей в отчет или форму. Дополнительные сведения о работе с областью Список полей см. в статье Добавление поля в форму или отчет.
Вы также можете сначала добавить свободное текстовое поле к форме или отчету, а затем указать в его свойстве Данные (Control Source) поле данных, с которым его необходимо связать.
Добавление свободного текстового поля
Свободное поле не связано с полем таблицы или запроса. Оно может использоваться для отображения результатов вычислений или для ввода значения, которое не нужно хранить в таблице. Проще всего добавить свободное поле в режиме конструктора.
- Откройте форму или отчет в режиме конструктора, щелкнув их правой кнопкой мыши в области навигации и выбрав Конструктор.
- На вкладке Конструктор в группе Элементы управления щелкните Поле.
- Наведите указатель туда, куда нужно поместить текстовое поле, а затем щелкните для его вставки.
Примечание: Слева от текстового поля размещается его подпись, поэтому оставьте место для нее слева от указателя. Впоследствии положение подписи или поля можно изменить. Подпись также можно удалить, выделив ее и нажав клавишу DELETE.
Свободное текстовое поле можно также создать следующим образом: сначала создайте связанное текстовое поле посредством перетаскивания поля данных из области Список полей в форму или отчет, а потом удалите значение в его свойстве Данные (Control Source). Если эта процедура выполняется в режиме конструктора, то вместо имени поля в поле будет отображаться «Свободный». В режиме макета данные перестанут отображаться в поле — оно будет пустым.
Добавление вычисляемого текстового поля
- Откройте форму или отчет в режиме конструктора, щелкнув их правой кнопкой мыши в области навигации и выбрав Конструктор.
- На вкладке Конструктор в группе Элементы управления щелкните Поле.
- Наведите указатель туда, куда нужно поместить текстовое поле, а затем щелкните для его вставки.
- Выполните одно из следующих действий: Поместите курсор в текстовое поле и введите выражение, вычисляющее значение. Вы выберите текстовое поле, нажмите F4, чтобы отобразить окно свойств, и введите выражение в поле свойства «Control Source». Чтобы использовать Построитель выражений для создания выражения, щелкните рядом с полем свойства «Control Source».
- Сохраните форму или отчет и перейдите в режим формы или отчета для просмотра результатов.
Дополнительные сведения о создании выражений см. в статье Создание выражений.
- Если для ввода выражения в ячейку свойства Данные (Control Source) потребуется больше места, нажмите клавиши SHIFT+F2 для открытия окна Область ввода.
- Если форма или отчет основаны на запросе, вы можете поместить выражение в запрос, а не в вычисляемый элемент управления. Это может повысить производительность и, если требуется вычислять итоговые значения по группам записей, позволяет использовать имя вычисляемого поля в агрегатной функции.
Свойства текстового поля
Независимо от того, каким образом создается поле, для того чтобы оно отображалось и работало нужным образом, необходимо задать определенные его свойства. Некоторые наиболее важные и часто используемые свойства поля приведены в следующем списке.
Имя (Name). Необходимо присвоить текстовому полю короткое, понятное имя, чтобы можно было легко определить, какие данные содержатся в нем. Это упрощает создание ссылок на текстовое поле в выражениях, которые используются в других текстовых полях. Некоторые разработчики баз данных добавляют к именам текстовых полей префикс, такой как txt, чтобы легко отличать их от других типов элементов управления, например txtFirstName или txtAddress. При создании связанного текстового поля путем перетаскивания поля данных из области Список полей в качестве имени текстового поля используется имя поля данных. Обычно это не имеет большого значения, но если вы планируете изменить свойство Данные (Control Source) и создать выражение, рекомендуется сначала изменить имя текстового поля так, чтобы оно отличалось от имени поля данных. В противном случае возможна ситуация, когда Access не сможет определить, на какой объект вы ссылаетесь: на текстовое поле или на поле в таблице. Предположим, существует отчет, содержащий текстовое поле «Имя», которое связано с полем таблицы под названием «Имя». Чтобы удалить пробелы, которые могут содержаться перед значением в поле «Имя» таблицы, можно задать следующее значение для свойства Данные (Control Source) текстового поля в отчете: =Trim([First Name]) Однако в результате в текстовом поле будет отображаться значение #Error, так как Access не может определить, ссылается ли это выражение на поле данных или на текстовое поле. Чтобы устранить проблему, присвойте полям уникальные имена.Данные (Control Source). Это свойство определяет, является ли поле связанным, свободным или вычисляемым.- Если значением в ячейке свойства Данные (Control Source) является имя поля в таблице, то текстовое поле связано с ним.
- Если ячейка Данные (Control Source) пустая, то поле является свободным.
- Если значение свойства Данные (Control Source) представляет собой выражение, то текстовое поле является вычисляемым.
Access логическое поле в запросе с параметром
Access. В одной таблице есть поле с логическим типом данных, в нем происходит замена 0 на Муж, -1 на Жен.
Нужно сделать запрос с параметром. Если в запрос вводить параметры Муж или Жен то запрос пустой, если 0 или -1 то запрос выполняется как надо.
Как сделать чтобы при вводе Муж или Жен результат был как при вводе 0 или -1.
(Менять логическое поле на текстовое нельзя)Свойства логического поля:
Формат поля: Да/Нет
Тип элемента: Поле со списком
Тип источника: Список значений
Источник строк: «0»;»Муж»;»-1″;»Жен»
Число столбов: 2
Заголовок столбцов: НетЛучшие ответы ( 2 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:Создать в запросе условие на логическое поле
добрый день.как мне посчитать количество тех у кого логическое поле true у меня идут пациенты,у.Доступное для изменения логическое поле в защищенной от редактирования форме Access
Добрый день, подскажите пож-та, как в форме аксесс, на которую в свойствах формы установлен запрет.При экспорте таблицы Access в Excel логическое поле получить в формате Да/Нет
Здравствуйте. Есть необходимость таблицу экспортировать из Access в Excel. Делаю это так.Делегат с параметром типа float, который возвращает логическое значение
Определите делегат с параметром типа float, который возвращает логическое значение. Создать класс.26799 / 14478 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782Сообщение было отмечено Cazexotono как решение
Решение
Не очень понятно, что надо. Но предположим, что в запросе требуется отфильтровать записи по полу людей и вывести поле поля как целые числа
1 2 3
SELECT *, Clng(Пол) AS Pol FROM Таблица WHERE Пол=iif([Введите пол]="Жен", TRUE, FALSE)
Логическое поле в запросе
Можно ли в запросе сделать логическое поле, как в конструкторе? Есть часть работы в запросе, которую нужно провести ручками. Однако, при создании нового столбца, в запросе постоянно получается Выражение.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:Создать в запросе условие на логическое поле
добрый день.как мне посчитать количество тех у кого логическое поле true у меня идут пациенты,у.Access логическое поле в запросе с параметром
Access. В одной таблице есть поле с логическим типом данных, в нем происходит замена 0 на Муж, -1.Логическое поле
не пойму, зачем вы дублировали тему, похоже они ничем не отличаются Добрый день! Есть.логическое поле
добрый вечер.у меня такая проблема. у меня есть люди "пациенты" и когда они обращаются в.Добавить логическое поле
Есть запрос: SELECT Налогоплательщик.Код_налогоплательщика, Налогоплательщик.ФИО, .279 / 27 / 14
Регистрация: 17.07.2019
Сообщений: 207Покажите как вы это делаете?
Добавлено через 12 минут
Запросы служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде.
Запросы упрощают просмотр, добавление, удаление или изменение данных в базе данных Access. Среди других целей использования запросов можно отметить:
быстрый поиск определенных данных путем фильтрации с применением определенных критериев (условий);
вычисление или сведение данных;
автоматизированное управление данными, например регулярный просмотр актуальных данных.