Выражения в Microsoft Access можно применять для решения широкого круга задач (например, для математических вычислений, объединения и извлечения текста или проверки данных). В этой статье приведены основные сведения о выражениях, в том числе инструкции по их использованию, сравнение с формулами Microsoft Excel, а также описание их компонентов.
В этом разделе...
Общие сведения о выражениях
Это можно представить себе следующим образом: если вы хотите, чтобы приложение Access сделало что-то, вам нужно обратиться к нему на его языке. Предположим, что вы хотите попросить Access проверить поле BirthDate в таблице Customers и сообщить год рождения заказчика. Вы можете записать эту просьбу в виде такого выражения:
DatePart("yyyy",[Customers]![BirthDate])
Это выражение содержит функцию DatePart и два аргумента: "yyyy" и [Customers]![BirthDate].
Рассмотрим его более подробно.
1 DatePart — это функция, которая проверяет даты и возвращает определенный фрагмент. В этом случае используются первые два аргумента.
2 Аргумент интервала сообщает Access, какую часть даты нужно вернуть. В данном случае значение "yyyy" указывает на то, что требуется вернуть только год.
3 Аргумент даты говорит о том, где искать значение даты. В данном случае значение [Customers]![BirthDate] указывает, что дата находится в поле BirthDate таблицы Customers.
Способы использования выражений
С помощью выражений можно делать следующее:
-
Вычислять значения, которые отсутствуют в данных. Можно вычислять значения в полях таблиц и запросов и в элементах управления форм и отчетов.
-
Присваивать значения по умолчанию полям таблиц или элементам управления в формах и отчетах. Эти значения по умолчанию отображаются при каждом открытии таблицы, формы или отчета.
-
Создавать правила проверки, чтобы определять значения, которые пользователь может вводить в поле или элемент управления.
-
Определять условия запроса для ограничения результатов нужным подмножеством.
Вычисление значений
Один из наиболее распространенных способов использования выражений в Access — вычисление значений, которые присутствуют непосредственно в данных. Столбец в таблице или запросе, в котором сохраняются результаты таких вычислений, называется вычисляемым полем. Вы можете создать вычисляемое поле, в котором объединяются данные из двух или нескольких полей таблицы. Например, имена и фамилии часто хранятся в разных полях. Если вы хотите объединить имена и фамилии, а затем отобразить их в одном поле, можно создать вычисляемое поле в таблице или запросе:
[FirstName] & " " & [LastName].
Здесь амперсанд (&) используется для объединения значения в поле FirstName, символа пробела (он заключен в кавычки) и значения в поле LastName.
Определение значения по умолчанию
В Microsoft Access с помощью выражений можно установить значения по умолчанию для поля в таблице или элемента управления. Например, чтобы по умолчанию задать для поля даты текущую дату, в поле свойства DefaultValue (Значение по умолчанию) необходимо ввести такое выражение:
Date()
Создание правила проверки
Кроме того, выражения можно использовать для настройки правила проверки. Например, правило проверки можно использовать в элементе управления или поле таблицы, чтобы требовать ввода даты, которая не предшествует текущей. В этом случае в поле свойства ValidationRule (Правило проверки) нужно ввести выражение:
>= Date()
Определение условий запроса
Наконец, выражения можно использовать для определения условий запросов. Предположим, что необходимо получить данные о продажах для заказов, поставленных в определенный период времени. Можно ввести условия для определения диапазона данных, а Microsoft Access вернет только те строки, которые соответствуют им. Например, выражение может выглядеть следующим образом:
Between #1/1/2017# And #12/31/2017#
При добавлении условий в запрос и выполнении этого запроса возвращаются только те значения, которые соответствуют указанным датам.
Примеры выражений
В приведенной ниже таблице представлены некоторые примеры выражений Access и типичные способы их использования.
Выражение |
Назначение |
---|---|
=[RequiredDate]-[ShippedDate] |
Вычисляет разницу между значениями дат в двух текстовых полях (RequiredDate и ShippedDate) отчета. |
Date() |
Устанавливает текущую дату в качестве значения по умолчанию для поля даты и времени в таблице. |
Between #1/1/2017# And #12/31/2017# |
Определяет условия для поля даты и времени в запросе. |
=[Orders Subform].Form!OrderSubtotal |
Возвращает значение элемента управления OrderSubtotal подчиненной формы Orders в форме Orders. |
>0 |
Задает правило проверки для числового поля таблицы: пользователи должны вводить значения больше нуля. |
Одни выражения начинаются с оператора равенства (=), а другие — нет. При вычислении значения для элемента управления в форме или отчете в начале выражения указывается оператор =. В других случаях, например при вводе выражения в запрос или в свойство DefaultValue либо ValidationRule поля или элемента управления оператор = использовать не нужно, если только выражение не добавляется в текстовое поле таблицы. В некоторых случаях, например при добавлении выражений в запросы, Access автоматически удаляет оператор =.
Компоненты выражений
Выражение представляет собой набор компонентов, используемых по одному или в сочетании друг с другом, который дает определенный результат. Вот эти компоненты:
-
Идентификаторы — имена полей таблицы или элементов управления в форме или отчете либо свойства этих полей или элементов управления;
-
Операторы — например: + (плюс) или - (минус);
-
Функции — например: SUM или AVG;
-
Константы — постоянные значения, например текстовые строки или числа, не вычисляемые выражением;
-
Значения — строки, например "Введите число от 1 до 10", или числа, такие как 1254, которые используются в операциях.
Эти компоненты описаны более подробно в разделах ниже.
Идентификаторы
Идентификатор — это имя поля, свойства или элемента управления. Идентификаторы используются в выражении для ссылки на значение, связанное с полем, свойством или элементом управления. Например, рассмотрим выражение =[RequiredDate]-[ShippedDate]. В этом выражении значение поля или элемента управления ShippedDate вычитается из значения поля или элемента управления RequiredDate. В этом выражении как RequiredDate, так и ShippedDate являются идентификаторами.
Операторы
Access поддерживает большое количество операторов, в том числе стандартные арифметические операторы, такие как +, -, * (умножение) и / (деление). Также можно использовать операторы сравнения, например < (меньше) или > (больше), для сравнения значений; текстовые операторы, например & и +, для сцепления (объединения) текста; логические операторы, например Not и And, для определения значений True и False, а также специальные операторы Access.
Функции
Функции — это встроенные процедуры, которые можно использовать в выражениях. Функции можно применять для широкого ряда операций, например для вычисления значений, работы с текстом и датами, а также для подведения итогов. Например, одной из распространенных функций является DATE, которая возвращает текущую дату. Функцию DATE можно использовать различными способами (например, в выражении, которое задает значение по умолчанию для поля или таблицы). В данном примере при добавлении новой записи в качестве значения для поля по умолчанию устанавливается текущая дата.
Для некоторых функций требуются аргументы. Аргумент — это значение, которое передает функции входные параметры. Если функции требуется несколько аргументов, они разделяются точкой с запятой. Например, рассмотрим функцию DATE в следующем примере выражения:
=Format(Date(),"mmmm d, yyyy")
В этом примере используются два аргумента:
-
Первый аргумент — функция Date(), которая возвращает текущую дату. Даже если аргументов нет, после имени функции необходимо ввести скобки.
-
Второй аргумент — "mmmm d, yyyy". Он отделен от первого аргумента точкой с запятой и задает текстовую строку, чтобы указать функции FORMAT, как отформатировать возвращаемое значение даты. Обратите внимание: текстовую строку необходимо заключить в кавычки.
Это пример также иллюстрирует вложение функций: результат, возвращенный одной функцией, часто служит аргументом другой функции. В этом случае Date() выступает в качестве аргумента.
Константы
Константа — это элемент, значение которого не изменяется во время работы Access. В выражениях часто используются константы True, False и Null.
Значения
В выражениях можно использовать литералы (например, число 1254 или строку "Введите число от 1 до 10"). Вы также можете использовать числовые значения, представляющие собой последовательность цифр и при необходимости содержащие знак и десятичный разделитель.
При использовании текстовых строк заключайте их в кавычки, чтобы они правильно интерпретировались в Access. В некоторых ситуациях Access вводит кавычки за пользователя. Например, при вводе текста в выражение для правила проверки или условий запроса Access автоматически заключает текстовые строки в кавычки.
При использовании значений даты и времени помещайте их между знаками решетки (#). Например, #3-7-17#, #7-Mar-17# и #Mar-7-2017# — допустимые значения даты и времени. Когда приложение Access встречает допустимое значение даты и времени, заключенное в символы #, значение автоматически обрабатывается как имеющее тип даты и времени.
Сравнение выражений Access и формул Excel
Выражения Access напоминают формулы Excel, так как для получения результатов в них используются похожие элементы. И в формулах Excel, и в выражениях Access содержатся некоторые или все из указанных ниже элементов.
-
Идентификаторы В Excel идентификаторы — это имена отдельных ячеек или диапазонов ячеек в книге, например A1, B3:C6 или Лист2!C32. В Access идентификаторы — это имена полей таблиц (например, [Contacts]![First Name]), элементов управления в формах и отчетах (например, Forms![Task List]![Description]) или свойства этих полей или элементов управления (например, Forms![Task List]![Description].ColumnWidth).
-
Операторы Как в Access, так и в Excel операторы используются для сравнения данных или выполнения простых вычислений с ними. В качестве примеров можно привести операторы + (плюс) и - (минус).
-
Функции Как в Access, так и в Excel функции и аргументы используются для выполнения задач, которые невозможно выполнить с помощью одних только операторов. Например, можно найти среднее для значений в поле или преобразовать результаты вычислений в формат денежной единицы. Примерами функций могут служить SUM и STDEV (в Excel — СУМ и СТАНДОТКЛОН). Аргументы — это значения, используемые для передачи данных функциям. И в Access, и в Excel есть много функций, но имена схожих функций в этих приложениях различаются. Например, функция СРЗНАЧ в Excel соответствует функции AVG в Access.
-
Константы И в Access, и в Excel константы — это значения, которые не изменяются (например, числа, не вычисляемые с помощью выражений).
-
Значения Значения используются в Access и Excel одинаково.
В выражениях Access используются такие же операторы и константы, как и в формулах Excel, но другие идентификаторы и функции. В то время как формулы Excel, как правило, используется только в ячейках листа, выражения Access используются во многих частях приложения для решения широкого круга задач, включая следующие:
-
создание вычисляемых элементов управления в формах и отчетах;
-
создание вычисляемых полей в таблицах и запросах;
-
составление условий в запросах;
-
проверка данных, вводимых в поле, элемент управления или форму;
-
группировка данных в отчетах.
Выражения Access и формулы Excel можно использовать для вычисления числовых значений или значений даты и времени с помощью математических операторов. Например, для вычисления цены со скидкой для клиента можно использовать формулу Excel =C2*(1-D2) или выражение Access = [Unit Price]*(1-[Discount]).
Выражение Access или формулу Excel можно использовать для объединения, разбиения или другой обработки строк с помощью строковых операторов. Например, для объединения имени и фамилии в одну строку можно использовать формулу Excel =D3 &" " & D4 или выражение Access = [First Name] & " " & [Last Name].