Работа №10 Запросы и отчёты в Access Цель работы: научиться

advertisement
Работа №10
Запросы и отчёты в Access
Цель работы: научиться создавать и редактировать
запросы и отчѐты базы данных
Содержание работы
1 Создание запросов.
2 Создание отчѐтов
1 Создание запросов
Запросы – это один из видов документов, используемых в СУБД Access ,
которые предназначены для обработки данных, хранимых в таблицах
Запросы можно создавать в режиме конструктора и с помощью
мастеров. Конструктор позволяет самостоятельно создать любой тип
запроса, но этот режим рекомендуется пользователям, уже имеющим
некоторый опыт создания запросов.
Мастер запроса за несколько шагов собирает сведения, необходимые
для формирования запроса, а затем автоматически составляет его в
зависимости от ответов пользователя на поставленные вопросы.
С помощью мастеров в Access можно создавать следующие типы
запросов:
 Простой запрос.
 Перекрестный запрос.
 Повторяющиеся записи.
 Записи без подчинѐнных.
Для создания любого из них надо в окне базы данных выбрать объект
Запросы и щелкнуть по кнопке Создать. Откроется окно Новый запрос,
вид которого представлен на рис. 1.
Рисунок 1 Окно БД Штат и окно выбора видов запросов
Простой запрос позволяет создать с помощью Мастера запрос на
выборку данных из определенных полей таблиц или запросов, он наиболее
удобен для начинающих пользователей. При его выборе запускается Мастер,
в первом окне которого (рис. 2) нужно в списке Таблицы и запросы
выбрать таблицу, напр., Штат преподавателей, выбрать из перечня еѐ
доступных полей те, которые должны присутствовать в запросе и перевести
каждое нажатием кнопки [>]. Аналогично в запрос добавляются поля из
других таблиц той же БД .
Примечание. Запрос может составляться только по таблицам или только
по запросам БД. Объединение в запросе полей из таблицы и запроса не
допускается.
Рисунок 2 Выбор полей для запроса.
Затем нужно нажать клавишу Далее (для заполнения других окон
Мастера) или Готово, появится таблица запроса с выбранными полями
данных.
Перекрестный запрос имеет вид таблицы, в которой выводится до трѐх
полей (столбцов) исходной таблицы, ячейки одного из оставшихся
преобразуются в новые столбцы, а на их пересечении выводится одно из
указанных пользователем значений – Дисперсия, Минимум, Максимум,
Среднее, Отклонение, Число, Первое, Последнее и др. Например,
запрос на рис. 4 является перекрѐстным запросом таблицы 1 на рис. 3, в
котором величины расстояний стали названиями столбцов:
Вариант Повторяющиеся записи создаѐт запрос на поиск
повторяющихся записей (строк) в одной таблице или запросе, для таблицы на
рис. 3 при заданных полях Расстояние и Стоимость проезда он имеет вид
(рис.5)
MS Access позволяет создать такой запрос только для одной таблицы или
запроса (не для нескольких таблиц БД), причѐм в нѐм нужно задавать
только те поля, в которых есть полное одновременное совпадение данных из
записей (например, поле Транспорт в этот запрос включать нельзя).
Дополнительно, для распознавания, можно включить неповторяющееся поле
(Город).
Рисунок 3 Таблица 1 для создания перекрѐстного запроса
Рисунок 4 Перекрѐстный запрос табл. 1
Рисунок 5 Запрос на выборку повторяющихся записей
Записи без подчиненных – запрос на поиск записей, которым не
соответствует ни одна запись в сравниваемой таблице. Такой запрос
используется для много табличных баз данных.
Рисунок 6 Основная таблица 1
Запрос без подчинѐнных на сравнение таблиц рис. 3 и рис. 6 выведет на
экран несовпадающую строку (рис. 7):
Рисунок 7 Запрос без подчинѐнных
Эти запросы являются основой для создания более сложных запросов,
для которых применяется режим Конструктора.
1.1 Применение запросов
Запросы, как простые, так и сложные предназначены для решения
следующих основных задач:
1 Выборка данных из таблицы БД, их просмотр, изменение, удаление и
добавление новых значений и записей. Добавить новое поле, не имеющееся
в исходной таблице, в СУБД Access нельзя.
2 Как источник данных для форм и отчетов.
3 Выполнение вычислений над группами записей - итоговых значений,
дисперсий, отклонений, суммы и др., а также вывод их в формате
электронной таблицы, в ячейках которой записаны необходимые формулы
Для решения этих задач используются следующие запросы:
 Запрос на выборку данных из одной или нескольких таблиц БД
(таблицы должны быть связаны между собой по ключевым полям).
Для него создаѐтся Простой запрос, в нѐм условием отбора является
задание полей таблицы (или другого запроса), которые должны входить в
запрос. Данные в запросе можно просмотреть, удалить (стереть), добавить
или отредактировать, при этом все изменения в запросе отражаются и в
исходных таблицах, по которым был сделан запрос.
 Запрос с параметрами - это запрос, в котором пользователю
предлагается ввести параметры, на основе которых будет выполняться
запрос. При каждом вызове этого запроса будет предложено ввести значение
параметра, а затем на экран будут выведены все поля, которые были указали
в запросе. Например, если для таблицы БД Товары в запросе назначено
параметром поле Наименование товара, то при вводе слова Телевизор
появятся значения других полей запроса – Цена, Размер экрана, Странаизготовитель и т.п.
Здесь также сначала создаѐтся простой запрос с нужными полями, а
затем выполняется переход в режим конструктора (нажать клавишу
Конструктор) и в его окне в строке Условие отбора вводится текст для
параметра, например, "Введите имя", который будет появляться при вызове
запроса (рис. 8).
 Запрос на изменение – это запрос на обновление, добавление и
удаление записей таблицы БД. Он тоже создаѐтся на базе Простого запроса,
затем запускается режим Конструктор и в пункте меню Запрос выбирается
нужный запрос на изменение. В Простом запросе также можно вносить
изменения данных и добавлять записи.
 Запросы SQL (запросы на объединение, запросы к серверу,
управляющие запросы, подчиненные запросы) составляются на языке
запросов SQL - (Structured Quiery Language – структурированный язык
запросов).
Рисунок 8 Экран Конструктора запросов
1.2 Операции с данными в запросах
В запросах можно выполнять все стандартные операции приложений
операционной системы Windows. Это те же операции, что и в таблицах и
формах БД – копирование, перемещение, удаление, вставка данных,
сортировка по возрастанию и убыванию, установка и снятие фильтра,
сортировка, поиск и замена данных, предварительный просмотр, печать
и др. Для этого используются команды строки меню Файл, Правка, Вид и
т.д. и кнопки панели инструментов Стандартная. При подведении к кнопке
курсора появляется подсказка с именем кнопки.
Например, для поиска данных нужно в меню Правка щелкнуть по
команде Найти …, в окне поиска ввести образец для поиска, указать имя
запроса для поиска, направление и т.д. и нажать ОК, для удаления записи
еѐ необходимо выделить, поставив курсор в первый столбец строки (он
превратится в чѐрную горизонтальную стрелку) и нажать клавишу Delete на
клавиатуре, добавление записи – поставить курсор в новую строку, ввести
данные и т.д. Все изменения автоматически сохраняются в исходной таблице
или запросе.
Сохранение запроса. Для сохранения запроса следует выполнить
команду Файл\ Сохранить или щелкнуть по кнопке Сохранить на панели
инструментов. Если запрос сохраняется впервые, введите новое имя запроса
в диалоговом окне Сохранение.
Запрос выглядит как таблица с заданными полями, но таблицей не
является, это виртуальный, динамический набор данных, который в БД не
хранится, а заново создаѐтся при каждом обращении к запросу. После
закрытия запроса результирующий набор данных прекращает свое
существование. При его сохранении (например, через Файл\Сохранить) в
памяти
остаѐтся только структура запроса – перечень таблиц, список полей,
ограничения и др., а сами данные не запоминаются. Запросы можно
сравнить с фильтрами, т.к. данные тоже отбираются согласно ведѐнным
условиям, но возможности запросов гораздо шире.
Пример 1 Создание запросов.
1
2
3
4
5
6
7
8
Открыть БД "Справочник", записанную на дискете.
Создать простой запрос по таблице "Тренеры" из БД "Справочник".
Выполнить в запросе поиск по полю Должность
Отфильтровать всех сотрудников с зарплатой 5000р.
Отсортировать поле Фамилия в алфавитном порядке
Сохранить запрос под именем Простой запрос1
Создать на базе простого запроса запрос с параметром входа Фамилия.
Сохранить запрос с параметром под именем Запрос с параметром.
Порядок работы:
1 Открыть БД "Справочник" с диска А:\, появится окно БД
"Справочник".
2 Для создания простого запроса:
 в окне базы данных выделить объект Запросы, щелкнуть по
кнопке Создать, в окне Новый запрос выбрать Простой запрос и
щелкнуть по кнопке OK;
 в окне Создание простых запросов в строке
Таблицы/запросы выбрать таблицу Тренеры (если других таблиц
запросов не было создано, она будет одна в открывающемся списке);
 в окне Доступные поля выделение поле Фамилия, щелкнуть по
кнопке [>], слово Фамилия перейдет в окно Выбранные поля;
 аналогично в окне перевести поля Имя, Отчество, Должность
(порядок важен – в таком порядке данные и будут выводиться);
 щелкнуть по кнопке Далее;
 в строке параметра Задайте имя запроса введите новое имя
Простой запрос1, щелкните по кнопке Готово. На экране появится
таблица с результатами запроса.
3 Поиск по полю Должность:
Нажать кнопку Найти или выполнить команду Правка\Найти, в
строке Образец ввести Тренер, выбрать имя запроса и направление поиска,
нажать ОК. В запросе будут выделяться слова Тренер
4 Отфильтровать всех тренеров по боксу.
 поставить курсор в ячейке со словом Бокс, нажать кнопку Фильтр по
выделенному (или команду Записи\ Фильтр\ Фильтр по выделенному). В запросе останутся только строки со значением слова Бокс.
Вернуться назад можно кнопкой Удалить фильтр.
5 Сортировка данных в алфавитном порядке, т.е. по убыванию.
Щелкнуть по кнопке [А-Я] на панели инструментов или выполнить команду
Записи\ Сортировка\Сортировка по убыванию.
6 Сохранение запроса по старым именем:
 щелкнуть по кнопке Сохранить или выполнить команду Файл\
Сохранить, под новым – Файл\Сохранить как.
7 Для создания запроса на выборку с параметром на базе простого
запроса1:
 перейти в режиме конструктора, щелкнув по кнопке
или
выполнив команду Вид\ Конструктор;
 в строке параметра Условия отбора для поля Фамилия ввести текст:
[Введите фамилию] - (квадратные скобки вводить обязательно);
 выполнить запрос, щелкнув по кнопке запуска
на панели
инструментов или выполнив команду Запрос\ Запуск;
Примечание. Этим способом запрос выполняется только в режиме
конструктора. Для того чтобы выполнить запрос из другого режима, надо
открыть вкладку Запросы, выделить требуемый запрос и щелкнуть по
кнопке Открыть.
 в появившемся окне ввести фамилию, например, Григорьев и щелкнуть
по кнопке ОК. На экране появится таблица с данными о преподавателе
Григорьеве — его имя, отчество, должность.
 сохранить запрос командой Файл\Сохранить как… под именем Запрос
с параметром;
 закрыть окно запроса.
2 Создание отчетов
Отчет – это средство для организации просмотра и распечатки итоговой
информации. В нѐм можно получить результаты сложных расчетов,
логических и статистических сравнений, введѐнных с помощью
Построителя выражений, а также поместить в него рисунки и диаграммы.
Отчет можно разработать самостоятельно в режиме Конструктор или
создать с помощью мастера. Мастер за несколько шагов выводит
диалоговые окна, в которые вводятся необходимые данные, затем отчет
создается на основании ответов пользователя. На первом шаге выбирается
таблица или запрос, для которого создаѐтся отчѐт и переводятся доступные
поля. На втором, если нужно, добавляются уровни группировки. На третьем
выбирается уровень сортировки, через окно клавиши Итоги вводятся
формулы для вычисления суммы (Sum), среднего (Avg), минимума (Min) и
максимума (Max) значений числовых полей, на 4-м - вид отчѐта, на 5-м
задаѐтся стиль, на 6-м – Имя отчѐта. После этого можно переключиться в
режим конструктора и внести изменения в стандартный макет.
Мастер необходим даже для опытных пользователей, так как позволяет
быстро разработать макет, служащий основой создаваемого отчета. При
работе с мастером в зависимости от того, какой отчет необходимо создать
(т.е. как вы отвечаете на вопросы мастера), Access предлагает различные
варианты макетов отчета. Например, если создается простой отчет без
группировки данных, то предлагается три варианта макета: в столбец,
табличный и выровненный. При этом в небольшом окне представляется
вид этих макетов. Если заданы уровни группировки (т.е. по каким признакам
надо сгруппировать данные, например по должности), то предлагаются шесть
видов макетов – структурный, блок и т.д.
Рисунок 9 Мастер форм, шаги 1, 2, 3 и 4
Основное различие между отчетами и формами заключается в их
назначении. Если формы задуманы преимущественно для ввода данных, то
отчеты – для просмотра данных. В формах используются вычисляемые поля
с помощью вычислений в полях текущей записи. В отчетах вычисляемые
поля (итоги) формируется на основе общей группы записей, страницы
записей или всех записей отчета. Все, что можно сделать с формой (за
исключением ввода данных), можно сделать и с отчетом. Форму можно
сохранить в виде отчета, а затем изменить элементы управления формы в
окне конструктора отчета.
2.1 Формирование отчётов
Для создания отчета надо в окне базы данных выбрать объект Отчеты и
щелкнуть по кнопке Создать. Откроется окно Новый отчет, в котором
приведены шесть пунктов меню, т.е. шесть способов создания отчетов:
Конструктор, Мастер отчетов, Автоотчет в столбец, Автоотчет
ленточный, Мастер диаграмм и Почтовые наклейки (рис. 10).
Рисунок 10 Окно БД Штат и окно выбора вида отчѐта
Конструктор позволяет самостоятельно создать отчет, но это непросто
даже для опытного пользователя. Мастер отчетов автоматически создаѐт
отчет на основе выбранных полей таблиц (запросов) и макетов отчетов. Этот
способ создания отчетов является наиболее удобным как для начинающих,
так и для опытных пользователей. Самый простой способ формирования
отчетов - создание Автоотчета в столбец и Автоотчета ленточный достаточно указать только имя таблицы (запроса), на основе которого будет
создан отчет, а остальное сделает мастер отчетов. Мастер диаграмм также
может создать отчет в виде диаграммы, а Мастер Почтовые наклейки
создаѐт отчет, отформатированный для печати почтовых наклеек.
Пример 2 Создание отчёта с группировкой данных
и вычислениями
1 В окне базы данных выбрать объект Отчеты и щелкнуть по кнопке
Создать.
2 Откроется окно Новый отчет, в котором выделяем способ создания
отчета Мастер отчетов, в списке источников выбираем таблицу Тренеры,
нажать ОК.
3 В окне Создание отчѐта перевести вправо поля Фамилия, Имя,
Зарплата, Должность, нажать Далее.
4 В следующем окне Мастера (рис. 11) слева выбрать Должность и
щелкнуть кнопку [>], слово Должность в правом окне станет синим и будет
заключено в рамку - тем самым задаѐтся группировка данных по полю
Должность. Нажать клавишу Далее, появится следующее окно (рис. 12).
5 В окне сортировки и вычислений выбрать в первом списке поле
Фамилия, задать сортировку по убыванию – для этого нажать клавишу по
возрастанию.
Затем щелкнуть клавишу Итоги, поставить галочку в переключателе
Sum (т.е. summa – сумма) для вычисления суммарного значения числового
поля Зарплата, нажать ОК, чтобы вернуться в предыдущее окно сортировки
и вычислений и нажать Далее.
Рисунок 11 Задание группировки данных по полю Должность
Рисунок 12 Выбор полей для сортировки и вычислений
6 Выбрать вид макета – ступенчатый, нажать Далее, выбрать затем
стиль – Обычный, нажать Далее.
7 В последнем окне задать имя отчѐта Отчѐт: группировка +сумма и
нажать Готово. На экране появится созданный отчѐт (рис. 13).
1
2
3
4
5
6
7
8
9
10
11
Контрольные вопросы
Что называется запросом и отчѐтом в СУБД Access?
Способы создания запросов и отчѐтов, для чего они применяются.
Какие виды запросов и отчѐтов можно создать с помощью Мастера?
Как создать простой запрос на выборку?
Как создать запрос с параметром?
Как создать перекрѐстный запрос?
Какие операции можно выполнять с данными в запросах и отчѐтах?
Как сохранить запрос или отчѐт под новым именем?
Как создать отчѐт с группировкой данных?
Как ввести вычисления в отчѐт?
Какие вычисления можно выполнить в отчѐте?
Рисунок 13 Отчѐт с группировкой данных по должности
(фамилии – по убыванию) и суммированием
по полю Должность
Задание 1
1 Открыть таблицу БД, созданную в лабораторной работе №1 и
сохранѐнную на личной дискете студента.
2 Создать простой запрос по открытой таблице БД, содержащий не менее
четырѐх полей.
3 Выполнить в запросе поиск записи по какому-либо значению второго
поля.
4 Отфильтровать данные запроса по какой-либо записи третьего поля.
5 Отсортировать запрос по четвѐртому полю в порядке возрастания.
6 Сохранить запрос под именем Запрос простой1
7 Создать на базе простого запроса запрос с параметром входа Фамилия.
8 Сохранить запрос с параметром под именем Запрос с параметром
Задание 2
1 Создать по своей таблице БД согласно своему варианту Отчѐт с
группировкой данных и вычислениями.
За образец взять технологию примера 2. Вариант соответствует номеру
компьютера в аудитории.
Варианты задания 2:
№
Поле для
вар. группировки
1
Поле 1
Поле для
сортиров
ки
Поле 2
Вычислен
ие итогов
Макет
отчѐта
Стиль
Сумма
Ступенчаты
й
Обычный
2
3
Поле 2
Поле 3
Поле 1
Поле 4
Среднее
Минимум
4
5
Поле 4
Поле 1
Поле 3
Поле 2
Максимум
Сумма
6
Поле 2
Поле 1
7
Поле 3
Поле 4
8
9
Поле 4
Поле 1
Поле 3
Поле 2
10
Поле 2
Поле 1
•
•
•
•
•
•
Блок
Структура1
Спокойный
Полужирны
й
Сжатый
Строгий
Структура2
По левому
краю1
Среднее
По правому
Деловой
краю2
Минимум Ступенчаты Обычный
й
Максимум
Блок
Спокойный
Сумма
Структура1 Полужирны
й
Среднее
Структура2
Сжатый
Содержание отчёта
Название работы
Цель работы
Содержание работы (порядок выполнения)
Вариант задания,
Краткие ответы на контрольные вопросы (письменно)
Выводы по работе
Download