Для указания условий отбора (фильтрации) данных и для создания вычисляемых полей в запросах используются выражения.
Выражения представляют собой формулы, по которым вычисляются необходимые значения. Различаются арифметические и логические выражения.
Выражения могут состоять из следующих элементов:
· литералов;
· операторов;
· констант;
· идентификаторов;
· функций.
Литерал — это точное значение, которое Access использует именно в том виде, как оно вводится. При записи литерала используются специальные символы-ограничители, которые указывают на тип данных литерала.
Если литерал — число, то он вводится без ограничителей. Например, 465,8.
Текстовый литерал должен иметь в качестве ограничителя - " или '. Например, "Иванов" или 'Иванов'.
В литералах типа дата используется ограничитель #. Например, #19.11.96#.
В случае литерала типа поле или элемента управления вводятся ограничители [ ]. Например, [Фамилия].
Оператор указывает действие, которое должно быть выполнено с элементами выражения.
Выделяются следующие группы операторов:
· арифметические: * умножение, + сложение, - вычитание, / деление,
^ возведение в степень;
· соединение частей текста &, например,
[ФИО] & " - "&[Отдел];
· сравнения: < - меньше, <= - меньше или равно, > - больше,
>= - больше или равно, = - равно, <> - не равно;
· логические: And (И), Not (Нет), Оr (Или);
· операторы SQL:
Like — для использования логики замены в выражениях,
In — для определения, содержится ли элемент данных в списке значений,
Выражение | Результаты отбора |
In(“Украина”; “Германия”; “Польша”) | Отбор заказов на доставку, содержащих в поле «Страна получателя» значение «Украина», «Германия» или «Польша» |
Between... And… — для выбора значений из определенного интервала.
Is — со служебным словом Null определяет, является ли величина нулем (нет значения) или нет (есть значение).
Константа — это неизменяемая величина. К наиболее часто используемым константам относятся Null (соответствует полю, не содержащему значений или символов), Истина, Ложь.
Идентификатор — это имя, введенное в выражение для резервирования места под значение, которое хранится в поле или элементе управления. На основе использования идентификаторов можно создавать выражения, которые используют информацию, хранящуюся в таблицах, формах, отчетах. Идентификаторы обычно заключаются в [ ]. Например, [Дата] относится к значению поля «Дата» таблицы СТУДЕНТ.
Функция — это специальное имя, которое используется для выполнения какой-либо операции и может применяться в выражениях. В Access встроено несколько десятков функций. Аргументы функции должны заключаться в (). Скобки могут быть опущены только при нулевом аргументе. Примерами функций, используемых при построении выражений в запросах, могут служить: Avg() — среднее арифметическое значений поля, Count() — количество записей, Sum() — сумма значений всех записей в поле, Min() - минимальное значение поля, Max() - максимальное значение поля и т. д.
Между условиями в разных полях одного столбца (см. рис. 1) выполняется логическая операция ИЛИ (Or). Она истинна, когда истинно хотя бы одно из входящих в список условий.
Между условиями в разных полях одной строки выполняется логическая операция И (And). Она истинна, когда истинны все входящие в список условия.
Вычисления над данными задаются с помощью арифметических выражений и порождают в ответных таблицах новые поля, называемые вычисляемыми. Причем можно выделить два типа вычислений: горизонтальные и вертикальные.
Если операции выполняются по каждой строке исходной таблицы, то такой тип вычислений можно назвать горизонтальным.
Встроенные функции оперируют группами записей, поэтому можно считать, что они выполняют вертикальные вычисления.
Практические языки позволяют вычислять групповые функции (по группе выделенных строк) с помощью функций: Avg(), Count(), Sum(), Min(), Max() и т. д.
Для использования подобных функций с помощью операции Группирование указываются поля, образующие группу записей.