Использование выражений для проведения вычислений в запросах
Выражения являются основным средством выполнения многих операций в Microsoft Access и представляют собой комбинацию математических и логических операторов, констант, функций, имен полей, элементов управления и свойств. Выражение возвращает только одно значение. В бланке запроса выражения вводятся в разных местах в зависимости от выполняемой операции. После ввода выражения в бланк запроса и нажатия клавиши ENTER выражение отображается на экране с использованием синтаксиса, понятного Microsoft Access.
Имена таблиц, отчетов, запросов, полей и элементов управления в выражениях заключаются в квадратные скобки ([ ]). При вводе имен объектов в идентификаторы использование квадратных скобок является обязательным только в том случае, если имя содержит пробелы или специальные знаки, например, знак подчеркивания. Имена, не содержащие пробелы и специальные знаки, можно вводить без квадратных скобок. Microsoft Access добавляет квадратные скобки автоматически (с двумя исключениями, которые описаны ниже).
Например, для расчета общего балла успеваемости по дисциплинам по полям Информатика и Математика можно создать вычисляемое поле с помощью следующего выражения в ячейке свойства Данные:
= Информатика + Математика.
Microsoft Access автоматически преобразует это выражение к следующему виду:
= [Информатика] + [Математика].
G
Примечание. В значениях свойства Условие на значение (ValidationRule) или в ячейке строки Условие отбора в бланке запроса квадратные скобки вокруг имен не всегда добавляются автоматически. При вводе имен объектов квадратные скобки следует ввести вручную. В противном случае Microsoft Access может воспринять введенные имена как текстовые значения и добавить прямые кавычки.
Для ссылки на объекты и их свойства в выражениях используются идентификаторы. Они могут иметь полную и сокращенную форму. Полная форма идентификатора имеет вид
Forms![Заказы]![ДатаОплаты].DefaultValue.
Разберем структуру этого идентификатора.
1. Компонент Forms определяет ссылку на семейство открытых форм базы данных. Microsoft Access автоматически создает семейства Forms и Reports для каждой базы данных. Семейство Forms состоит из всех открытых форм, а семейство Reports из всех открытых отчетов.
2. Компонент [Заказы] определяет ссылку на конкретную форму с именем Заказы, входящую в семейство Forms.
3. Компонент [ДатаОплаты] задает ссылку на элемент управления ДатаОплаты в форме Заказы.
4. Элемент DefaultValue определяет ссылку на свойство Значение по умолчанию (DefaultValue) элемента управления ДатаОплаты.
Итак, полный идентификатор задает адрес доступа к конкретному элементу или свойству объекта базы данных. Рекомендуется всегда использовать полный идентификатор элемента или свойства.
Несмотря на это, в некоторых случаях можно использовать сокращенный идентификатор, в котором имя объекта БД и конкретный его представитель опускается. Сокращенный идентификатор применяется в следующих случаях.
1. При ссылках на элемент управления при работе с текущей формой или отчетом. В данном случае нет необходимости указывать идентификатор формы или отчета. Например, следующее выражение позволяет вычислить величину выполнение плана поставщиком продукции на основе полей таблицы План и Поставки в бланке заказа:
= [План] - [Поставки].
2. При ссылках на элемент управления в подчиненной форме или в подчиненном отчете можно опустить идентификатор формы или отчета с указанием свойства Form или Report. Например, можно использовать следующую ссылку на элемент управления «Количество» в подчиненной форме «Заказано»:
Forms![Заказы]![Заказано]![Количество].
В полной форме приведенный идентификатор элемента управления Количество имеет вид:
Forms![Заказы]![Заказано].Form![Количество].
3.В макросах или в аргументах макрокоманды можно опускать идентификаторы форм или отчетов, из которых запускается макрос. Например, если имя макроса задается в качестве значения свойства события в форме, то можно ссылаться на элементы управления этой формы в столбце Условие макроса и в аргументах макрокоманды без указания идентификатора формы.
G
Примечания. 1. При запуске макросов или программ Microsoft Visual Basic для приложений, которые содержат выражение со ссылкой на форму или отчет, форма или отчет должны быть открытыми. 2. В процедурах Microsoft Visual Basic можно ссылаться на объект, заключая его имя в круглые скобки и прямые кавычки (") вместо использования оператора !. Скобки требуются, если нужно использовать в идентификаторе переменную. Например, следующие идентификаторы эквивалентны:
Forms![Ордер]![Дата]
Forms("Ордер")("Дата")