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