Работа с запросами и отчетами в Microsoft Office Access
Если исполнителю надо получить данные из базы, он должен использовать специальные объекты - запросы. Все необходимые запросы разработчик базы должен подготовить заранее. Если запрос подготовлен, надо открыть панель Запросы в окне База данных, выбрать его и открыть двойным щелчком на значке - откроется результирующая таблица, в которой исполнитель найдет то, что его интересует.
В общем случае результирующая таблица может не соответствовать ни одной из базовых таблиц базы данных. Ее поля могут представлять набор из полей разных таблиц, а ее записи могут содержать отфильтрованные и отсортированные записи таблиц, на основе которых формировался запрос. Лишь в тех случаях, когда исполнитель не находит нужных данных в результирующей таблице, возникает необходимость готовить новый запрос - это задача разработчика базы.
С помощью запросов можно не только выполнять поиск данных и отображать их в представлении, но и обрабатывать их соответственно требованиям. С найденными данными можно выполнять арифметические действия (например, вычитание из общей выручки от продаж затрат на доставку), обновлять данные и составлять комбинации данных из разных таблиц.
В учебных целях запросы лучше готовить вручную, с помощью Конструктора. Как и в случае с таблицами, для этого есть специальный значок в окне База данных. Он называется Создание запроса в режиме конструктора и открывает специальный бланк, называемый бланком запроса по образцу. За этим длинным названием скрывается тот приятный факт, что, хотя запросы к таблицам баз данных пишутся на специальном языке программирования - SQL, пользователям Microsoft Access изучать его не обязательно, а большинство операций можно выполнить щелчками кнопок мыши и приемом перетаскивания на бланке.
Бланк запроса по образцу представлен на рис. 4.22. Как видно, он состоит из двух областей. В верхней отображается структура таблиц, к которым запрос адресован, а нижняя область разбита на столбцы - по одному столбцу на каждое поле будущей результирующей таблицы.
Рис. 4.22. Бланк запроса по образцу
Идея формирования запроса по образцу чрезвычайно проста. С помощью контекстного меню на верхней половине бланка открывают те таблицы, к которым обращен запрос. Затем в них щелкают двойными щелчками на названиях тех полей, которые должны войти в результирующую таблицу. При этом автоматически заполняются столбцы в нижней части бланка. Сформировав структуру запроса, его закрывают, дают ему имя и в дальнейшем запускают двойным щелчком на значке в окне База данных.
Порядок действий, рассмотренный выше, позволяет создать простейший запрос, называемый запросом на выборку (рис. 4.23). Он позволяет выбрать данные из полей таблиц, на основе которых запрос сформирован.
Рис. 4.23. Запрос на выборку «Студенты 11-б группы»
Упорядочение записей в результирующей таблице. Если необходимо, чтобы данные, отобранные в результате работы запроса на выборку, были упорядочены по какому-либо полю, применяют сортировку. В нижней части бланка имеется специальная строка Сортировка (рис. 4.22). При щелчке на этой строке открывается кнопка раскрывающегося списка, в котором можно выбрать направление сортировки: по возрастанию или по убыванию. В результирующей таблице данные будут отсортированы по тому полю, для которого задан порядок сортировки.
Управление отображением данных в результирующей таблице. В нижней части бланка запроса по образцу имеется строка Вывод на экран (рис. 4.22). По умолчанию предполагается, что все поля, включенные в запрос, должны выводиться на экран, но это не всегда целесообразно. Например, бывают случаи, когда оно является условием отбора, например номер учебной группы, и нежелательно, чтобы пользователь базы видел его содержание. В таких случаях отображение содержимого на экране подавляют сбросом флажка Вывод на экран. Примером может быть запрос на вывод списка студентов заданной учебной группы, отсортированный алфавиту (рис. 4.23).
Использование условия отбора. Дополнительным средством, обеспечивающим отбор данных по заданному критерию, является так называемое Условие отбора. Соответствующая строка имеется в нижней части бланка запроса по образцу. Для каждого поля в этой строке можно задать индивидуальное условие. На рис. 4.22 представлен пример, в котором мы хотим отобрать из всех студентов вуза только студентов 11-б учебной группы.
Другие виды запросов. Мы рассмотрели запросы на выборку. Это самые простые и в то же время наиболее распространенные виды запросов. Однако существуют и другие виды запросов, некоторые их которых выполняются на базе предварительно созданного запроса на выборку. К ним относятся, прежде всего:
• запросы с параметром (интересны тем, что критерий отбора может задать сам пользователь, введя нужный параметр при вызове запроса, см. рис. 4.24);
• итоговые запросы, назначение которых отдаленно напоминает итоговые функции электронных таблиц (производят математические вычисления по заданному полю и выдают результат);
• запросы на изменение - позволяют автоматизировать заполнение полей таблиц;
• перекрестные запросы, позволяющие создавать результирующие таблицы на основе результатов расчетов, полученных при анализе группы таблиц;
• специфические запросы SQL - запросы к серверу базы данных, написанные на языке запросов SQL.
Рис. 4.24. Запрос с параметром
Работа с отчетами. Отчеты во многом похожи на формы и страницы доступа к данным, но имеют иное функциональное назначение - они служат для форматированного вывода данных на печатающие устройства и, соответственно, при этом должны учитывать параметры принтера и параметры используемой бумаги.
Большая часть того, что было сказано о формах, относится и к отчетам. Здесь также существуют средства автоматического, автоматизированного и ручного проектирования. Средства автоматического проектирования реализованы автоотчетами (База данных → Создать → Новый отчет → Автоотчет в столбец). Кроме автоотчетов «в столбец» существуют «ленточные» автоотчеты.
Средством автоматизированного создания отчетов является Мастер отчетов. Он запускается двойным щелчком на значке Создание отчета с помощью мастера вокне База данных. Мастер отчетов работает в шесть этапов. При его работе выполняется выбор базовых таблиц или запросов, на которых отчет базируется, выбор полей, отображаемых в отчете, выбор полей группировки, выбор полей и методов сортировки, выбор формы печатного макета и стиля оформления.
Структура готового отчета отличается от структуры формы только увеличенным количеством разделов (рис. 4.25). Кроме разделов заголовка, примечания и данных, отчет может содержать разделы верхнего и нижнего колонтитулов. Если отчет занимает более одной страницы, эти разделы необходимы для печати служебной информации, например номеров страниц. Чем больше страниц занимает отчет, тем важнее роль данных, выводимых на печать через эти разделы. Если для каких-то полей отчета применена группировка, количество разделов отчета увеличивается, поскольку оформление заголовков групп выполняется в отдельных разделах.
Рис. 4.25. Отчет «Студенты»
Редактирование структуры отчета выполняют в режиме Конструктора (режим запускается кнопкой Конструктор в окне База данных). Приемы редактирования те же, что и для форм. Элементы управления в данном случае выполняют функции элементов оформления, поскольку печатный отчет не интерактивный объект, в отличие от электронных форм и Web-страниц. Размещение элементов управления выполняют с помощью Панели элементов (Вид → Панель элементов), которая по составу практически не отличается от Панели элементов формы. Важной особенностью отчетов является наличие средства для вставки в область верхнего или нижнего колонтитула текущего номера страницы и полного количества страниц. Эту операцию выполняют в режиме Конструктора с помощью диалогового окна Номера страниц (Вставка → Номера страниц).
Вопросы и задания для самопроверки
1. Поясните назначение программы Microsoft Access.
2. Охарактеризуйте основные объекты базы данных Microsoft Access?
3. С какими типами данных работает Microsoft Access?
4. Как создать новую базу данных в Microsoft Access?
5. Как создать таблицу в Microsoft Access?
6. Охарактеризуйте следующие элементы таблицы: Имя поля, Тип данных, Примечание, Ключевое поле.
7. Охарактеризуйте основные свойства полей таблицы Microsoft Access.
8. Как создать ключевое поле в таблице Microsoft Access?
9. Как связать между собой несколько таблиц?
10. Из чего состоит форма и как ее создать?
11. Какие виды форм Вам известны?
12. Опишите этапы создания форм с помощью Мастера форм.
13. Какие бывают запросы и как их создать?
14. Для чего применяются отчеты и как их создать?
15. Разработайте структуру таблиц и схему связи для базы данных «Сотовые телефоны». (Таблицы: «Телефон», «Поставщик», «Магазин»).