Создание условных (логических) выражений
В этой статье объясняется, как создавать условные (также известные как булевистые) выражения в 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) представляет собой выражение, то текстовое поле является вычисляемым.
Как создать логический тип поля?
Можно подробнее? По идее стоит сделать два поля, одно — «пол указан» (истина/ложь), второе — «мужчина» (истина/ложь). Ну а тип поля задается в конструкторе, если вы это имеете в виду. Откройте таблицу и выберите в меню Главная->Режим->Конструктор.
18 окт 2012 в 12:45
я так и делал, но ни в какую
18 окт 2012 в 13:051 ответ 1
Сортировка: Сброс на вариант по умолчанию
М.б. стоит использовать для поля мастер подстановки и выбрать из «фиксированного набора значений» (М, Ж)?
Отслеживать
ответ дан 25 сен 2015 в 21:29
300 1 1 серебряный знак 7 7 бронзовых знаков-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как добавить логическое поле в access
Для определения поля таблицы обязательно задаются Имя поля (Field Name) и Тип данных (Data Type).
Имя поля (Field Name). Каждое поле в таблице должно иметь уникальное имя, удовлетворяющее соглашениям об именах объектов в Access. Оно является комбинацией из букв, цифр, пробелов и специальных символов, за исключением точки (.), восклицательного знака (!), надстрочного знака (`) и квадратных скобок ([ ]). Имя не может начинаться с пробела и содержать управляющие символы с кодами ASCII от 0 до 31. Максимальная длина имени 64 символа.
Тип данных в MS Access (Data Type). Тип данных определяется значениями, которые предполагается хранить в поле, и операциями, которые будут выполняться с этими значениями. В Access допускается использование двенадцати типов данных.

Рассмотрим вкратце типы данных в MS Access, виды, назначение и допустимый размер данных, которые могут назначаться полям таблицы в Access.
- Текстовый (Text) — используется для хранения текста или комбинаций алфавитно-цифровых знаков, не применяемых в расчетах (например, код товара). Максимальная длина поля 255 знаков.
- Поле МЕМО (Memo) — используется для хранения обычного текста или комбинаций алфавитно-цифровых знаков длиной более 255 знаков. Поля с этим типом данных в базах данных формата Access 2007 поддерживают также форматирование текста. Это единственный в Access тип данных, обеспечивающий встроенную поддержку отображения и хранения форматированного текста. Максимальный размер поля 1 Гбайт знаков или 2 Гбайт памяти (2 байта на знак) при программном заполнении полей, и 65 535 знаков при вводе данных вручную в поле и в любой элемент управления, связанный с этим полем.
- Числовой (Number) — служит для хранения числовых значений (целых или дробных), предназначенных для вычислений, исключением являются денежные значения, для которых используется тип данных Денежный (Currency). Размер поля 1, 2, 4 и 8 байтов, или 16 байтов (если используется для кода репликации) зависит от типа чисел, вводимых в поле.
- Дата/время (Date/Time) — используется для хранения значений даты и времени в виде 8-байтовых чисел двойной точности с плавающей запятой. Целая часть значения, расположенная слева от десятичной запятой, представляет собой дату. Дробная часть, расположенная справа от десятичной запятой, — это время. Хранение значений даты и времени в числовом формате позволяет выполнять различные вычисления с этими данными.
- Денежный (Currency) — используется для хранения денежных значений в виде 8-байтовых чисел с точностью до четырех знаков после запятой. Этот тип данных применяется для хранения финансовых данных и в тех случаях, когда значения не должны округляться.
- Счетчик (AutoNumber) — используется для уникальных числовых 4-байтовых значений, которые автоматически вводит Access при добавлении записи. Вводимые числа могут последовательно увеличиваться на указанное приращение или выбираться случайно. Обычно используются в первичных ключах.
- Логический (Yes/No) — применяется для хранения логических значений, которые могут содержать одно из двух значений: Да/Нет, Истина/Ложь или Вкл/Выкл. (8 битов = 1 байт). Используется 1 для значений Да и 0 для значений Нет. Размер равен 1 биту.
- Поле объекта OLE (OLE Object) — используется для хранения изображений, документов, диаграмм и других объектов из приложений MS Office и других программ Windows в виде растровых изображений, которые затем отображаются в элементах управления форм или отчетов, связанных с этим полем таблицы.
Чтобы в Access просматривать эти изображения, необходимо, чтобы на компьютере, использующем базу данных, был зарегистрирован OLE-сервер (про-грамма, поддерживающая этот тип файлов). Если для данного типа файлов OLE-сервер не зарегистрирован, отображается значок поврежденного изображения.
Закрепим полученные знания просмотром видео:
Про основные свойства полей MS Access читаем тут.