Важным средством доступа к данным являются запросы. Для одной и той же базы данных можно создать множество различных запросов, каждый из которых будет извлекать из базы ту часть информации, которая необходима пользователю в данный момент. В результате работы запроса из общей БД формируется результирующая таблица, содержащая часть общей информации, соответствующей запросу. При этом можно не только извлекать информацию из базы, но и обрабатывать ее. При работе запроса данные могут сортироваться, фильтроваться, объединяться, изменяться, и при этом никаких изменений в базовых таблицах может не происходить. Еще одним ценным свойством запросов является их способность выполнять итоговые вычисления, например, находить среднее, сумму, наибольшее, наименьшее и т.п. для какого-нибудь поля.
Как и другие объекты Access, запросы можно создавать автоматически с помощью мастера или вручную с помощью Конструктора.
Для создания нового запросанадо в окне базы данных выбрать вкладку Запросы и щелкнуть по кнопке «Создать». Откроется окно "Новый запрос".
Конструктор позволяет самостоятельно создать любой тип запроса.
Простой запрос позволит создать с помощью Мастера запрос на выборку из определенных полей таблиц или других запросов. (Это наилучший способ создания запроса для начинающих пользователей.)
Существует несколько различных видов запросов.
Запросы на выборку. Цель запросов такого вида состоит в создании результирующей таблицы, в которой отображаются только нужные по условию запроса данные из базовых таблиц.
Условие отбора представляют собой выражения, включающие конкретные значения, имена полей, константы, операторы, функции и т.д., и задет критерий для отбора записей. Приведем примеры подобных выражений.
Примеры выражений, использующих в качестве условий отбора текстовые значения
Поле
Выражение
Описание
ПунктНазначения
"Витебск"
Отображает заказы на доставку товаров в Витебск.
ПунктНазначения
"Витебск" Or "Минск"
Использует оператор Or для отображения заказов на доставку товаров в Витебск или Минск.
ДатаОтгрузки
Between #05.01.10# And #10.01.10#
Использует оператор Between...And для отображения заказов на отгрузку товаров не ранее 5-янв-10 и не позднее 10-янв-10.
ДатаОтгрузки
#02.02.10#
Отображает заказы на отгрузку товаров 2-фев-10.
СтранаДоставки
In("Канада", "Великобритания")
Использует оператор In для отображения заказов на доставку товаров в Канаду или Великобританию.
СтранаДоставки
Not "США"
Использует оператор Not для отображения заказов на доставку товаров во все страны, за исключением США.
ИмяПолучателя
Like "С*"
Заказы на доставку товаров клиентам, имена которых начинаются с буквы С.
Название
>="Н"
Отображает заказы на доставку товаров в фирмы, названия которых начинаются с букв, находящихся в диапазоне от Н до Я.
Запросы с параметром. Условия запроса могут быть включены непосредственно в бланк запроса, но, для того чтобы сделать его более универсальным, можно вместо конкретного значения отбора включить в запрос параметр. Для этого в строку «Условие отбора» вводится фраза в квадратных скобках, которая будет выводиться в качестве подсказки в процессе диалога, например, [Введите поставщика]. Таких параметров может быть несколько, каждый для своего поля.
Для каждого параметра можно указать тип данных, который корректируется командой Запрос/Параметры. При задании нескольких параметров имя каждого должно быть уникальным.
Запросы с вычисляемыми полями. Поле, содержимое которого является результатом расчета по содержимому других полей, называется вычисляемым. В исходных (базовых) таблицах такое поле не создается, оно существует только в результирующей таблице запроса. Чтобы создать такое поле, формируют обычный запрос на выборку, а в одном из столбцов вместо имени поля записывают формулу. В нее входят заключенные в квадратные скобки названия полей, участвующих в расчете, математические операции, а также функции Visual Basic. Например,
Сумма: [Количество]*[Цена]здесь Сумма – название вычисляемого поля, Количество и Цена – названия полей из базовой таблицы.
Для построения выражений имеется специальное средство – Построитель выражений, вызываемый правой кнопкой мыши на поле или кнопкой Построить .
В верхней части размещается область ввода. Нижняя содержит три списка для выбора имен полей и функций. В папке Функции размещаются встроенные функции, сгруппированные по категориям.
Итоговые запросы. Они предназначены для группировки данных и представления их в компактном виде, напоминающем электронную таблицу. Примером итоговых вычислений может служить сумма всех значений в какой-то группе записей или их среднее. Итоговые запросы создают на основе обычного запроса на выборку, только в нем появляется дополнительная строка Группировка (если она отсутствует, надо щелкнуть по кнопке Групповые операции со значком . Далее в тех полях, по которым производится группировка надо установить функцию Группировка. В тех полях, по которые производится итоговое вычисление, надо в строке Группировка выбрать одну из итоговых функций (Sum, Avg, Min, Max).
Запросы на изменение. Они позволяют автоматически создавать новые таблицы или изменять уже имеющиеся. Для этого создается запрос на выборку, который отбирает данные из разных таблиц или сам создает новые данные путем вычислений. После запуска запроса образуется временная результирующая таблица, данные из которой используют для создания новых таблиц БД или изменения существующих.