Создание выражений

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

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

В этой статье

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

Возможности построителя выражений Access

Вложенные выражения в веб-базах данных

Использование выражений в элементах управления форм и отчетов

Использование выражений в условиях запросов

Создание вычисляемого поля в запросе

Создание вычисляемого поля в таблице

Добавление правила проверки в поле таблицы или запись

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

Задание значений по умолчанию для поля таблицы

Задание значений по умолчанию для элементов управления

Управление запуском макрокоманд

Группировка и сортировка данных в отчетах

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

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

Компоненты выражения.

Например, следующее выражение содержит все четыре указанных компонента:

= Sum( [Закупочная цена])*0,08

В этом примере Sum() — это встроенная функция, [Закупочная цена] — идентификатор, * — математический оператор, а 0,08 — константа. Это выражение можно использовать в поле в нижнем колонтитуле формы или отчета для вычисления налога с продаж для группы товаров.

Выражения могут быть значительно более сложными или, наоборот, более простыми, чем в этом примере. Так, следующее логическое выражение (выражение, результатом вычисления которого является значение True или False) состоит только из оператора и константы:

>0

Это выражение возвращает значение True при сравнении с числом больше нуля и значение False при сравнении с числом меньше нуля. Это выражение можно использовать в свойстве Условие на значение элемента управления или поля таблицы, чтобы обеспечить ввод только положительных значений.

В Access выражения используются во многих элементах для выполнения вычислений, работы с символами или проверки данных. У всех таблиц, запросов, форм, отчетов и макросов есть свойства, в которых можно указывать выражения. Например, вы можете использовать выражения в свойствах элемента управления Данные и Значение по умолчанию. Выражения также можно использовать в свойстве поля таблицы Условие на значение. Кроме того, при написании кода Microsoft Visual Basic для приложений (VBA) для процедуры обработки событий или модуля часто используются выражения, подобные выражениям для объектов Access, таких как таблица или запрос.

В следующих разделах описаны наиболее распространенные способы использования выражений.

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

Возможности построителя выражений Access

В Access 2010 построитель выражений был переработан для более удобного использования. Вот лишь некоторые изменения, которые вы заметите в этой версии:

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

    Технология IntelliSense особенно полезна при создании веб-баз данных с помощью новой функции веб-публикации. С веб-базами данных совместимы только некоторые функции, и IntelliSense не позволяет использовать функции, которые не поддерживаются.

    Дополнительные сведения о веб-базах данных см. в статье Создание базы данных Access для публикации в Интернете.

  • Краткие советы.    Когда IntelliSense выводит список идентификаторов и функций, вы можете щелкнуть в нем элемент, чтобы просмотреть его краткое описание.

  • Краткие сведения.    После ввода полного имени функции в построителе выражений появляется небольшое поле, в котором указан синтаксис выражения. Это позволяет определить, какие аргументы требуются функции (если таковые имеются) и в каком порядке нужно их указать. Access выделяет полужирным шрифтом каждый аргумент в кратких сведениях при его вводе в поле выражения, чтобы вы могли быстро определить, в каком месте списка аргументов находитесь.

Эти функции также доступны в большинстве контекстов для ввода выражений, даже если вы не используете диалоговое окно построителя выражений.

В добавление к новым функциям было изменено само окно построителя выражений:

  • Вы можете щелкнуть << Меньше или Больше >>, чтобы определить, какая часть диалогового окна построителя выражений должна отображаться.

  • После изменения размеров диалогового окна построителя выражений новый размер сохраняется в течение сеанса Access, так что вам не придется изменять размер диалогового окна при каждом его открытии.

  • Строка кнопок с операторами была удалена, что сделало диалоговое окно более понятным.

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

Вложенные выражения в веб-базах данных

Выражения часто "вложены" в другие выражения. Например, рассмотрим следующее выражение:

=len("a" & "b") + len("c" & "d") + len("e" & "f")

Считается, что у этого выражения один уровень вложенности, так как каждая операция сцепления вложена в функцию len(). В клиентской базе данных нет ограничения на количество уровней вложенности выражений. С другой стороны, в веб-базе данных нельзя использовать более 65 уровней. Выражения с более чем 65 уровнями вложенности не будут работать в браузере, но средство проверки совместимости Access не сообщает об этом.

Важно :  При использовании операторов &, AND и OR на сервере могут создаваться дополнительные уровни вложенности, которые не отражаются в клиенте Access. Например, выражение "a" & "b" & "c" не кажется вложенным в клиенте, но на сервере оно преобразуется в concatenate.Db("a", concatenate.Db("b", "c") ). При этом создается один уровень вложенности. Использование большого числа последовательных операторов &, AND и OR в одном выражении может привести к превышению ограничения в 65 уровней вложенности, и выражение не будет работать в браузере.

Дополнительные сведения о веб-базах данных см. в статье Создание базы данных Access для публикации в Интернете.

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

Использование выражений в элементах управления форм и отчетов

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

Итог в отчете.

Чтобы вычислить итог, поместите элемент управления "поле" в нижний колонтитул отчета и настройте для свойства ControlSource этого поля следующее выражение:

= Sum( [ поле_таблицы ])

В данном случае поле_таблицы — это имя поля, содержащего значения промежуточного итога. Оно может находиться в таблице или запросе. Функция Sum вычисляет итог для набора значений из источника записей.

Ниже показано, как ввести выражение в элемент управления "поле".

Ввод выражения в элемент управления "поле"

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

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

  3. Если окно свойств не отображается, нажмите клавишу F4.

  4. Чтобы создать выражение вручную, на вкладке Данные страницы свойств выберите свойство ControlSource поля, а затем введите выражение, предварив его оператором равенства (=). Например, для вычисления итога, как показано выше, введите =Sum([поле_таблицы]). Убедитесь в том, что элемент поле_таблицы заменен действительным именем поля.

  5. Чтобы создать выражение с помощью построителя выражений, нажмите кнопку Построить Изображение кнопки в ячейке свойства.

    После ввода выражения страница свойств будет выглядеть примерно так:

    Пример выражения в свойстве "Данные" поля.

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

Использование выражений в условиях запросов

С помощью выражения вы можете определить условия запроса, после чего Access вернет только строки, соответствующие им. Предположим, вы хотите просмотреть все заказы, которые были отгружены в первые три месяца 2010 года. Чтобы задать условие, введите следующее выражение в ячейку Условия столбца "Дата/время" в запросе. В нашем примере используется столбец "Дата/время" с именем ДатаИсполнения. Чтобы определить диапазон дат, введите следующее условие:

Between #01.01.2010# And #31.03.2010#

Столбец ДатаИсполнения будет выглядеть подобным образом:

Выражение в строке "Условие отбора" в бланке запроса.

Для каждой записи в таблице заказов, для которой значение в столбце "ДатаИсполнения" попадает в указанный интервал дат, будет создана запись в выходных данных запроса. Обратите внимание, что в выражении даты заключаются в знаки решетки (#). Значение между знаками решетки трактуется в Access как значение с типом данных "Дата/время". Это означает, что с такими значениями могут производиться соответствующие вычисления, например вычитание одной даты из другой.

Ввод условий отбора в бланке запроса

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

  2. Выберите ячейку Условия в столбце, для которого необходимо создать условие отбора.

  3. Чтобы создать выражение вручную, введите выражение условия.

    Примечание : Не начинайте выражение с оператора =.

  4. Чтобы использовать построитель выражений, на вкладке Конструктор в группе Настройка запроса нажмите кнопку Построитель Изображение кнопки .

    Если для редактирования выражения вам требуется больше места, установите курсор в ячейку Условие отбора, а затем нажмите сочетание клавиш SHIFT+F2, чтобы открыть окно Область ввода:

    Выражение в диалоговом окне "Область ввода".

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

Создание вычисляемого поля в запросе

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

Сумма: [Количество] * [Цена]

Поскольку выражение начинается с текста Сумма:, новый столбец получит имя Сумма. Это имя часто называется "псевдоним". Если псевдоним не указан, он будет создан автоматически, например такой: Expr1.

Использование выражения при создании вычисляемого поля в запросе.

При выполнении запроса в Access выполняется расчет каждой строки, как показано ниже:

Вычисляемое поле, показанное в режиме таблицы.

Создание вычисляемого поля в режиме конструктора запроса

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

  2. Выберите ячейку Поле в столбце, в котором необходимо создать вычисляемое поле.

  3. Чтобы создать выражение вручную, просто введите его.

    Примечание : Не начинайте выражение условия с оператора равенства (=). В начале выражения должно стоять понятное название, за которым следует двоеточие. Например, введите Стоимость:, чтобы задать название в выражении, которое создает вычисляемое поле с именем Стоимость. После двоеточия введите условие для выражения.

  4. Чтобы использовать построитель выражений, на вкладке Конструктор в группе Настройка запроса нажмите кнопку Построитель.

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

Создание вычисляемого поля в таблице

Начиная с Access 2010, в таблице можно создавать вычисляемые поля. Это устраняет необходимость в создании отдельного запроса для выполнения вычислений.

  • В таком вычисляемом поле нельзя использовать поля из других таблиц или запросов.

  • Результаты вычислений доступны только для чтения.

Чтобы создать вычисляемое поле, выполните указанные ниже действия.

  1. Откройте таблицу, дважды щелкнув ее в области навигации.

  2. Прокрутите таблицу по горизонтали до крайнего правого столбца и нажмите в заголовке столбца кнопку Щелкните, чтобы добавить.

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

    Откроется построитель выражений Access.

  4. Начните вводить формулу расчета, которую вы хотите использовать для этого поля. Например:

    [Количество] * [ЦенаЕдиницы]

    В начале выражения не требуется вводить знак равенства (=).

  5. Нажмите кнопку ОК.

    Приложение Access добавит вычисляемое поле и выделит его заголовок, чтобы можно было ввести имя поля.

  6. Введите имя вычисляемого поля и нажмите клавишу ВВОД.

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

Добавление правила проверки в поле таблицы или запись

Выражения также полезно применять для проверки сведений, которые вводятся в базу данных. В таблицах можно создать два основных типа правил проверки: правила проверки поля, предотвращающие ввод недопустимых данных в определенное поле, и правила проверки записи, которые предотвращают создание записей, не соответствующих указанным условиям. Оба типа правил проверки создаются с помощью выражений.

Пусть, например, в таблице "Склад" имеется поле "В наличии", и требуется задать условие, разрешающее пользователям вводить только неотрицательные значения. Иначе говоря, количество товара никогда не может быть отрицательным. Это можно сделать, указав для поля "В наличии" следующее условие на значение:

>=0

Ввод условия на значение

Чтобы ввести условие на значение поля или записи, выполните указанные ниже действия.

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

    Таблица откроется в режиме таблицы.

  2. При вводе условия на значение поля выделите поле, которое необходимо изменить.

  3. На вкладке Поля в группе Проверка полей нажмите кнопку Проверка и выберите пункт Условие на значение поля или Условие на значение записи.

    Откроется построитель выражений Access.

  4. Начните вводить необходимые условия. Например, для условия на значение поля, требующего ввода неотрицательных значений, введите следующее выражение:

    >=0

    Примечание : Нельзя начинать выражение со знака равенства (=).

Выражения правил проверки являются логическими, то есть выдают значение Истина или Ложь. Значение принимается только в том случае, если правило проверки выдает значение Истина. В этом примере при вводе в поле "В наличии" значения меньше нуля выражение дает результат Ложь, поэтому Access не принимает значение. Если вы не ввели сообщение об ошибке, как описано в предыдущем разделе, Access отобразит собственное сообщение, в котором указано, что введенное значение запрещено правилом проверки для поля.

Ввод сообщения проверки правильности

Чтобы сделать базу данных более удобной в использовании, можно задать собственные сообщения проверки правильности. Эти сообщения будут использоваться вместо стандартных сообщений, выводимых приложением Access, когда данные не соответствуют условию. В сообщение можно включить сведения, помогающие пользователю ввести правильные данные, например "Значение в поле "В наличии" не может быть отрицательным". Чтобы создать сообщение проверки правильности, выполните указанные ниже действия.

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

    Таблица откроется в режиме таблицы.

  2. При создании сообщения для условия на значение поля выделите соответствующее поле.

  3. На вкладке Поля в группе Проверка полей нажмите кнопку Проверка и выберите пункт Сообщение проверки поля или Сообщение проверки записи.

  4. В диалоговом окне Введите сообщение о проверке введите сообщение, которое будет выводиться, если данные не соответствуют условию на значение, и нажмите кнопку ОК.

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

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

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

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

Свойство

Значение

Условие на значение

>=#01.01.2010#

Сообщение об ошибке

Нельзя ввести дату ранее 01.01.2010.

При попытке ввести дату раньше 01.01.2010 будет выведено сообщение с текстом, указанным в свойстве ValidationText. Если поле свойства ValidationText пусто, будет выведено стандартное сообщение. После нажатия кнопки ОК фокус ввода вернется в текстовое поле.

Совет : Если условие на значение задается для поля таблицы, оно будет действовать при любом изменении значения этого поля в базе данных. Напротив, если условие на значение задается для элемента управления в форме, оно будет действовать только при использовании этой формы. Чтобы задать разные условия на значение для разных пользователей, иногда имеет смысл создать эти условия отдельно для полей таблицы и элементов управления в форме.

Создание условия на значение для элемента управления

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

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

    Будет отображено окно свойств элемента управления.

  3. На вкладке Все выберите ячейку свойства Условие на значение.

  4. Введите выражение или нажмите кнопку Построить Изображение кнопки в ячейке свойства, чтобы создать выражение с помощью построителя выражений.

    Примечание : Не начинайте выражение с оператора =.

  5. Чтобы настроить сообщение, которое появится при вводе значения, не соответствующего условию, укажите нужный текст в ячейке свойства Сообщение об ошибке.

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

Задание значений по умолчанию для поля таблицы

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

Now()

Задание значения по умолчанию для поля таблицы

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

    Таблица откроется в режиме таблицы.

  2. Выберите поле, которое требуется изменить.

  3. На вкладке Поля в группе Свойства щелкните Значение по умолчанию.

    Откроется диалоговое окно построителя выражений Access.

  4. Введите выражение, начинающееся со знака равенства (=).

Примечание : При связывании элемента управления с полем таблицы действует следующее правило: если для элемента управления и для поля заданы значения по умолчанию, значение по умолчанию элемента управления имеет приоритет.

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

Задание значений по умолчанию для элементов управления

Другим объектом, где часто применяются выражения, является свойство Значение по умолчанию элемента управления. Свойство Значение по умолчанию элемента управления аналогично свойству Значение по умолчанию поля в таблице. Например, чтобы использовать текущую дату в качестве значения по умолчанию для текстового поля, вы можете указать следующее выражение:

Date()

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

Задание значения по умолчанию для элемента управления

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

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

  3. Если окно свойств не отображается, нажмите клавишу F4.

  4. На вкладке Все окна свойств перейдите к ячейке свойства Значение по умолчанию.

  5. Введите выражение или нажмите кнопку Построить Изображение кнопки в ячейке свойства, чтобы создать выражение с помощью построителя выражений.

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

Управление запуском макрокоманд

В некоторых случаях выполнять макрокоманду или набор макрокоманд в макросе нужно только в том случае, если выполнено определенное условие. Предположим, необходимо, чтобы макрокоманда выполнялась только в том случае, если значение в поле не меньше 10. Для этого в блоке Если макроса можно задать соответствующее условие с помощью выражения.

Например, пусть поле называется "В наличии", тогда выражение для условия будет выглядеть следующим образом: [В наличии]>=10.

Выражение в блоке "Если" макроса.

Ввод выражения в блок "Если" макроса

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

  2. Перейдите к блоку Если, который требуется изменить, или добавьте блок Если из области "Каталог макрокоманд".

  3. Щелкните верхнюю строку блока Если.

  4. Введите условное выражение в поле или нажмите кнопку Построить Изображение кнопки около ячейки выражения, чтобы открыть построитель выражений.

Примечание : Можно ввести только логическое выражение, которое выдает значение Истина или Ложь. Макрокоманды внутри блока Если будут выполняться только в том случае, если условие имеет значение Истина.

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

Группировка и сортировка данных в отчетах

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

Группировка — это процедура суммирования столбцов с одинаковыми значениями. Например, пусть в базе данных хранятся сведения о продажах для офисов в разных городах, а один из отчетов этой базы данных называется "Продажи по городам". Запрос, который обеспечивает данные для этого отчета, группирует их по названию города. Такого рода группировка облегчает восприятие и понимание информации.

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

Добавление группировки и сортировки в отчет

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

  2. на вкладке Конструктор в группе Группировка и итоги щелкните Группировка и сортировка.

    Ниже отчета появится область Группировка, сортировка и итоги.

  3. Чтобы добавить к отчету уровень группировки, нажмите Добавить группировку.

  4. Чтобы добавить к отчету порядок сортировки, нажмите Добавить сортировку.

    В области появится новый уровень группировки или порядок сортировки, а также список полей с данными для этого отчета. На приведенном ниже рисунке показан типичный новый уровень группировки (по полю "Категория") и порядок сортировки (по полю "Производитель"), а также список доступных полей для группировки и сортировки.

    Выбор параметра выражения в области "Группировка, сортировка и итоги".

  5. Ниже списка доступных полей нажмите выражение, чтобы открыть построитель выражений.

  6. Введите нужное выражение в поле выражения (верхнем поле) построителя выражений. Убедитесь, что выражение начинается с оператора равенства (=).

Добавление выражения в существующую группировку или сортировку

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

  2. Выберите уровень группировки или порядок сортировки, который требуется изменить.

  3. Щелкните стрелку вниз рядом с пунктом Группировка (уровни группировки) или Сортировка (порядок сортировки).

    Появится список доступных полей

  4. В нижней части этого списка нажмите выражение, чтобы открыть построитель выражений.

  5. Введите выражение в поле выражения (верхнем поле) построителя выражений. Убедитесь, что выражение начинается с оператора равенства (=).

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

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

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

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

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

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

×