Выражения в Microsoft Access можно применять для решения широкого круга задач (например, для математических вычислений, объединения и извлечения текста или проверки данных). В этой статье приведены основные сведения о выражениях, в том числе инструкции по их использованию, сравнение с формулами Microsoft Excel, а также сравнение с формулами Microsoft Excel.
В этом разделе...
- Общие сведения о выражениях
- Способы использования выражений
- Примеры выражений
- Компоненты выражений
- Сравнение выражений Access и формул 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 поддерживает большое количество операторов, в том числе стандартные арифметические операторы, такие как +, *-, (умножение) и / (деление). Операторы сравнения, такие как < (меньше) или > (больше), можно также использовать для сравнения значений, текстовые операторы ( &+ например, для сцепления (объединения) текста, логические операторы (например, NotAnd для определения значений 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. С32. В 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) или выражение = [Unit Price]*(1-[Discount])Access.
Выражение Access или формулу Excel можно использовать для объединения, разбиения или другой обработки строк с помощью строковых операторов. Например, чтобы объединить имя и фамилию в одну строку, можно использовать формулу Excel =D3 &" " & D4 или выражение = [First Name] & " " & [Last Name]Access .
Работа с построителем выраженийСоздание выраженийРуководство по синтаксису выраженийПримеры выражений