Использование построителя выражений
Вычисляемые поля
Комбинация операторов Or и And
В тех ситуациях, когда одна часть результирующих записей запроса должна соответствовать одному критерию, а вторая часть — другому, для комбинирования условий отбора в бланке запроса могут быть использованы сразу несколько операторов Or и Andсогласно следующим правилам.
• Несколько атомарных условий в одной ячейке могут быть объединены операторами Or и And. Например, для стоимости товара может быть указано такое условие: <=10 OR (>=100 And <=200), т.е. товары стоимостью ниже 10 руб. или попадающие в ценовой диапазон от 100 до 200 руб. включительно.
• Если в одной строке заданы критерии для нескольких полей, они объединяются оператором Andи проверяются как единое условие, которому должны удовлетворять результирующие записи (всезаписи, если критерий запроса сформулирован в одной строке бланка запроса, или часть записей,если условия отбора указаны в нескольких строках, т.е. объединены оператором Or).
• Если необходимо использовать несколько операторов Or для разных полей, они должны располагаться в разных строках бланка запроса.
В качестве результирующих программа Access выберет те записи, которые удовлетворяют условию для первой иливторой (илитретьей и т.д.) строки в бланке запроса.
В запрос можно включить не только поля из таблиц, но и создать так называемые вычисляемые поля, значения которых — это результат вычисления некоторого выражения. Такие вычисления выполняются для числовых, строковых значений или дат и могут использовать данные из полей одной или нескольких таблиц. Например, можно умножить значение числового поля на заданную константу или подсчитать разницу в днях между двумя датами.
Вычисляемое поле создается непосредственно в бланке запроса, и его значения не хранятся в исходной таблице, а рассчитываются на основании значений других полей этой же результирующей записи всякий раз при выполнении запроса. Значения вычисляемых полей могут как отображаться в результирующей таблице (для этого необходимо установить флажок опции Вывод на экран соответствующего поля), так и использоваться в критериях отбора записей или итоговых расчетах.
Для создания вычисляемого поля щелкните на первой пустой ячейке строки Поле и введите сначала имя столбца, затем — двоеточие (:) и выражение, в соответствии с которым будут производиться вычисления.
При создании запросов с вычисляемыми полями, а также при работе с длинными выражениями, включающими поля нескольких таблиц, функции и другие компоненты, можно воспользоваться диалоговым окном Построитель выражений (рис. 4.14). В бланке запроса, например, построитель выражений доступен для ячеек Поле и Условие отбора. Открыть его можно, щелкнув на кнопке Построить панели инструментов Конструктор запросов (или, щелкнув правой кнопкой на нужной ячейке, выбрать из контекстного меню команду Построить).
![]() |
Рис. 4.14. Диалоговое окно построителя выражений |
Структурно окно построителя состоит из нескольких областей. В верхней части окна находится поле выражения — область, в которой создается выражение. Здесь компоненты выражения можно ввести как вручную, так и выбрать их из расположенных ниже списков элементов. Ряд кнопок под полем выражения позволяет включать в выражение математические и логические операторы, оператор конкатенации, а также скобки.
Нижняя область окна разделена на три поля. В левом поле представлены папки с основными типами компонентов выражений, включая папки объектов текущей базы данных (таблицы, запросы, формы и отчеты). Так, чтобы добавить в выражение поле из таблицы, сначала откройте папку Таблицы и щелкните на необходимом заголовке. В средней секции отобразится список всех полей указанной таблицы. Затем дважды щелкните на нужном поле, чтобы включить его в выражение. В поле выражения появится имя поля, дополненное именем таблицы и восклицательным знаком.
Кроме папок, содержащих информацию о структуре объектов базы данных, в первом поле содержатся списки встроенных функций, констант, операторов и общих выражений. Каждый из таких списков — это папка, включающая упорядоченные элементы. Например, папка Операторы включает 4 категории: <Все>, Арифметические, Сравнения и Логические. Некоторые из элементов дублируются кнопками, расположенными под областью ввода выражения. Папка Константы содержит константы, которые используются в логических выражениях: пустая строка, Null, Истина и Ложь. В папку Общие выражения включены самые распространенные выражения, используемые, например в отчетах: текущая дата, число страниц или номер страницы.