- •Лабораторная работа № 3 субд ms Access: основы работы
- •8.1 Краткие сведения о ms Access
- •8.2 Работа с таблицами
- •8.2.1 Создание таблиц
- •8.2.2 Создание межтабличных связей
- •8.3 Работа с запросами
- •8.3.1 Создание запроса
- •8.4 Работа с формами
- •8.4.1 Создание формы
- •8.4.2 Создание формы с помощью мастера
- •8.5 Работа с отчетами
- •8.5.1 Создание отчета
- •8.6 Упражнения
- •8.6.1 Создание базовых таблиц
- •8.6.2 Создание базовых таблиц
- •8.6.3 Создание запроса на выборку
- •8.6.4 Создание итогового запроса
- •8.6.5 Создание автоформы
- •8.6.6 Создание формы с помощью Мастера форм
- •8.6.7 Создание автоотчета
- •8.6.8 Создание отчета с помощью Мастера отчетов
- •8.7 Индивидуальные задания
8.3 Работа с запросами
При формировании и выполнении Запроса опрашивается активная база данных. Результат (ответ) представляет собой временную результирующую таблицу, которая может просматриваться на экране или распечатываться.
С помощью запросов выполняются такие операции как отбор данных, их сортировка и фильтрация. С помощью запросов можно выполнять преобразование данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое наполнение таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое. В общем случае результирующая таблица может не соответствовать ни одной из базовых таблиц базы данных. Ее поля могут представлять набор из полей разных таблиц, а ее записи могут содержать отфильтрованные и отсортированные записи таблиц, на основании которых формировался запрос.
Основными типами запросов являются:
- Запросы на выборку - информация получается из таблиц на основе заданного критерия.
- Перекрестные запросы - используется критерий, задаваемый для группировки данных таблицы в табличном формате. Перекрестные запросы наиболее сложны в использовании, но очень полезны в ряде ситуаций.
- Итоговые запросы – выполняются вычисления по всем записям какого-либо числового поля.
8.3.1 Создание запроса
Запросы могут создаваться двумя способами: “вручную” и с помощью мастеров запроса. Имеется четыре мастера запросов:
мастер простых запросов;
мастер перекрестных запросов;
мастер повторяющихся записей;
мастер записей без подчинения.
Следуя выше приведенным рекомендациям, рассмотрим способ создания запросов “вручную”. Для этого:
В окне БД на закладке “Запросы” нажать кнопку “Создать”. В окне “Новый запрос” выбрать “Конструктор” и нажать кнопку “ОК”. Открывается окно бланка запроса. Бланк запроса состоит из 2-х областей. В верхней области отображается структура таблиц, к которым запрос адресован. Эти таблицы выбираются из окна «Добавление таблицы», открывающегося на панели инструментов кнопкой “Добавление таблицы”.
Нижняя область бланка разбита на столбцы - по одному столбцу на каждое поле будущей результирующей таблицы. Для заполнения этих столбцов в верхней области бланка щелкают двойными щелчками на названиях полей, необходимых для результирующей таблицы (запроса) при этом автоматически заполняются столбцы в нижней области бланка. Формируется структура запроса: заполняются строки: “Поле”, “Имя таблицы”, из которой выбрано это поле.
Если необходимо, чтобы отобранные данные были упорядочены по какому-либо полю, применяют сортировку. Для этого в нижней области бланка имеется специальная строка «Сортировка». При щелчке на этой строке открывается кнопка раскрывающегося списка, в котором можно выбрать метод сортировки: по возрастанию или по убыванию. В результирующей таблице данные будут отсортированы по тому полю, для которого задан порядок сортировки. Возможна многоуровневая сортировка: сразу по нескольким полям. В этом случае данные сортируются по полям слева направо.
В строке Вывод на экран по умолчанию все поля, включенные в запрос, выводятся на экран, но это не всегда целесообразно. Сброс флажка «Вывод на экран» запрещает отображение содержимого данного поля на экране.
В строке Условие отбора задается критерий (индивидуальное условие) для каждого поля, по которому выбираются данные из полей таблиц. Символы, используемые при задании критериев отбора:
- > (больше), < (меньше), = (равно), >< (не равно).
Например: а) Условие отбора по текстовому полю «ФИО» задано >К. Это значит в поле «ФИО» будут выбраны фамилии, начинающиеся на буквы от К до Я.
б) Условие отбора по числовому полю «Цена» задано <100. Это значит в поле «Цена» будут только значения меньше 100.
- * - замена нескольких символов.
Например: Условие отбора по текстовому полю «ФИО» задано *ов. Это значит в поле «ФИО» будут выбраны фамилии, оканчивающиеся на «ов», независимо от того, сколько впереди символов.
- ? - замена одного символа.
Например: Условие отбора по числовому полю «Цена» задано ?0. Это значит в поле «Цена» будут выбраны только значения 10, 20, 30, 40, 50, 60, 70, 80, 90.
- is null – поиск по «пустому» значению поля;
- is not null – поиск по «не пустому» значению поля.
Например, в исходной таблице поле "Размер премиальных" содержит помимо размера премии у некоторых сотрудников пустые, незаполненные строки у сотрудников, которые не получили премии. Условие отбора по полю "Размер премиальных" задано is null. Это значит в результирующей таблице (запросе), при условии ввода в нее поля "ФИО", будут выданы фамилии сотрудников, не получивших премию.
- «between значение 1 and значение 2» - поиск по интервалу между значением 1 и значением 2.
Например, условие отбора по полю "Дата рождения" задано between 01.01.82 and 31.12.82. Это значит в поле "Дата рождения" будут выбраны только даты родившихся в 1982 году.
При задании условий отбора в строку по нескольким полям между ними устанавливается логическое “И”, в столбец - логическое “ИЛИ”. Сформировав в бланке запроса по образцу структуру запроса, его закрывают, дают ему имя и далее запускают двойным щелчком на значке в окне База данных. Запустить запрос можно также в окне бланка запроса, щелкнуть на Панели инструментов кнопку с восклицательным знаком красного цвета. Порядок действий рассмотренный выше, позволяет создать простейший запрос, называемый запросом на выборку.