Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Вычисляемые поля в запросах. Построитель выражений.



Существует ряд вычислений, которые можно выполнить в запросе. Например, найти сумму или среднее по значениям одного поля, перемножить значения двух полей или вычислить дату, отстоящую от текущей на три месяца.

Результаты вычислений, выводящиеся в поле, не запоминаются в базовой таблице. Вычисления снова производятся всякий раз, когда выполняется запрос, поэтому результаты всегда представляют текущее содержимое базы данных. Обновить вычисленные результаты вручную невозможно.

Для определения вычисляемого поля можно использовать встроенные функции Access или выражения, создаваемые пользователем. Выражения, определяемые пользователем, дают возможность выполнять действия с числами, датами и текстовыми значениями в каждой записи с использованием данных из одного или нескольких полей.

Результаты вычислений не должны обязательно отображаться в поле. Их можно использовать в условиях отбора для определения записей, которые выбираются в запросе, или для определения записей, над которыми производятся какие-либо действия.

Новое вычисляемое поле создается прямо в Бланке запроса. Выражение записывается в пустую ячейку Поле бланка с помощью Построителя выражений, который предназначен для составления математических, логических и других выражений.

Построитель выражений в открытом окне Конструктора вызывается одним из следующих способов:

· нажать кнопку Построить на панели инструментов;

· щелкнуть правой кнопкой мыши по строке Поле ( или Условие отбора) для нового (или выбранного) поля и из контекстного меню выбрать команду Построить.

Окно построителя выражений состоит из трех разделов:

В верхней части окна построителя расположено поле построения выражения.

В средней части окна построителя находятся кнопки с часто используемыми операторами. При нажатии на одну из этих кнопок построитель вставит соответствующий оператор в текущую позицию поля выражения.

Замечание. Чтобы вывести полный список операторов, можно выбрать папку Операторы в нижней левой области и нужный тип в средней – в правой области будут выведены все операторы выбранного типа.

В нижней части окна построителя находятся три области.

В левой области содержится список источников данных (таблицы, запросы, формы, объекты базы данных) и средства для записи выражений (встроенные и определенные пользователем функции, константы, операторы и общие выражения).

В средней области задаются определенные элементы или типы элементов для папки, заданной в левой области. Например, если выбрать в левом поле Встроенные функции, то в среднем поле появится список всех типов функций Access.

В правой области выводится список значений (если они существуют) для элементов, заданных левым и средним полями. Например, если выбрать в левой области Встроенные функции и тип Дата/время в средней области, то в правой области будет выведен список всех встроенных функций выбранного типа.

Поиск нужных элементов начинается с левой области. Списки объектов в левой, средней и правой областях имеют иерархическое подчинение.

Последовательность вставки элемента выражения в верхнее поле ввода:

1) в левой области выбрать необходимую папку;

2) открыть папку для выбора нужного объекта (элемента) – двойным щелчком мыши;

3) последовательно в средней и правой областях выбрать нужный элемент и перенести его в поле ввода выражения (в верхнюю часть окна) кнопкой Вставить или дважды щелкнуть элемент мышью;

4) в средней части окна Построителя выбрать нужный оператор и щелкнуть мышью для переноса его в создаваемое выражение;

5) после формирования нужного выражения нажать кнопку ОК.

Формирование Условий отбора

Список операторов используемых при задании выражений следующий:

Ø операторы сравнения:


= (равно)

< > (не равно)

> (больше)

> = (не меньше)

< (меньше)

< = (не больше)


BETWEEN – позволяет задать диапазон значений. Синтаксис: Between «Выражение» And «Выражение» (например: BETWEEN 10 And 20 означает тоже, что и логическое выражение > = 10 AND < = 20).

IN – позволяет задавать используемый для сравнения список значений (операндом является список, заключенный в круглые скобки). Например: IN (" Брест", " Минск", " Гродно" ) означает тоже самое, что и логическое выражение " Брест" OR " Минск" OR " Гродно".

Ø логические операторы:

АND (например: > =10 AND < =20)

OR (например: < 50 OR > 100)

NOT (например: Is Not Null – поле, содержащее какое-либо значение).

Ø оператор LIKE – проверяет соответствие текстового или Memo поля по заданному шаблону символов.

Таблица символов шаблона

Символы шаблона Соответствие в выражении
? Любой один текстовый символ
* Соответствует любой цифре или любому символу
# Любая одна цифра
[список знаков] Любой один знак в «списке знаков»
[! список знаков] Любой один знак, который не входит в «список знаков»

Примеры использования оператора Like:

LIKE " С *" – строки, начинающиеся с символа С;

LIKE " [ A - Z ] #" – любой символ от А до Z и цифра;

LIKE " [! 0 - 9 ABC] * # #" – строки, начинающиеся с любого символа кроме цифры или букв А, В, С и заканчивающиеся на 2 цифры;

Сложные критерии выборки

Часто приходится выбирать записи по условию, которое задается для нескольких полей таблицы или по нескольким условиям для одного поля. В этом случае применяются «И-запросы» (выбор записей только при условии выполнения всех условий) и «ИЛИ-запросы» (выбор записей при выполнении хотя бы одного из условий).

При задании « ИЛИ-запроса » каждое условие выборки должно размещаться на отдельной строке Бланка запроса.

При задании « И-запроса » каждое условие выборки должно размещаться на одной строке, но в разных полях Бланка запроса.

Эти операции могут быть заданы явно с помощью операторов OR и AND соответственно.


Поделиться:



Последнее изменение этой страницы: 2017-03-17; Просмотров: 541; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.015 с.)
Главная | Случайная страница | Обратная связь