Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Запросы и отчеты в Access

.doc
Скачиваний:
28
Добавлен:
18.02.2016
Размер:
455.17 Кб
Скачать

3

Основы СУБД Access

4. Работа с запросами и отчетами

4.1. Создание и фильтрация запросов

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

Задание 1. Создайте запрос, выполнив следующие операции:

  1. В окне БД переключиться на вкладку «Запросы».

  2. Щелкнуть кнопку Создать.

  3. В диалоговом окне «Новый запрос» выбрать тип запроса (выберем наиболее простой вариант – «Простой запрос») и щелкнуть кнопку ОК.

  4. В списке «Таблицы/Запросы» выберите строку «Таблица: Заказы». С помощью кнопки  >  выберите из списка доступных в таблице полей поля «НомерЗаказа», «ДатаПриема», «ДатаИсполнения» и «Оплачен» для включения их в запрос.

  5. В списке «Таблицы/Запросы» выберите строку «Таблица: Клиенты». С помощью кнопки  >  выберите из списка доступных в таблице полей поле «ФИО» для включения их в запрос.

  6. В списке «Таблицы/Запросы» выберите строку «Таблица: Услуги». С помощью кнопки  >  выберите из списка доступных в таблице полей поля «Наименование» и «Стоимость» для включения их в запрос.

  7. Щелкните кнопку Далее.

  8. В следующем диалоговом окне установите переключатель «Подробный…» и щелкните кнопку Далее.

  9. Задайте имя запроса «Оплата заказов», установите переключатель «Открытие результатов…» и щелкните кнопку Готово.

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

Задание 2. С помощью фильтра выведите информацию только об оплаченных заказах. Для этого необходимо:

  1. Выполнить команду Записи Фильтр Изменить фильтр.

  2. Установить с помощью мыши флажок в поле «Оплачен».

  3. Выполнить команду Записи Применить фильтр.

В результате отбора информации с помощью фильтра в таблице остались только записи об оплаченных заказах.

Работать с такой информацией не очень удобно. Поэтому можно для работы с запросами создать формы, как и для работы с таблицами.

Вопросы для самоконтроля:

  1. Как создать запрос к БД?

  2. Создайте запрос, выводящий информацию и неоплаченных заказах.

4.2. Создание и просмотр отчетов

Для вывода результатов выполнения запроса можно использовать отчеты.

Задание 3. Для создания отчета выполните следующие действия:

  1. Переключитесь на вкладку «Отчеты» диалогового окна базы данных заказов.

  2. Щелкните кнопку «Создать».

  3. В диалоговом окне «Новый отчет» выберите строку «Автоотчет: ленточный», а в качестве источника – запрос «Оплата заказов».

  4. Щелкните кнопку ОК и сохраните созданный отчет под именем «Оплата заказов».

Обычно отчет создается с помощью Мастера отчетов или Автоотчета. Если отчет, предоставленный компьютером, пользователя не устраивает, то такой отчет можно доработать с помощью Конструктора.

Задание 4. Внесите в отчет итоговые данные по оплаченным и неоплаченным заказам. Для модификации отчета выполните следующие шаги:

  1. Выделите значок отчета и щелкните кнопку Конструктор.

  2. В окне конструктора щелкните правой кнопкой мыши по вертикальной линейке (слева) и в контекстном меню выберите команду «Сортировка и группировка».

  3. В диалоговом окне команды выберите в столбце (списке) «Поле/выражение» поле «ФИО» и выберите порядок группировки «По возрастанию».

  4. В свойствах группы «включите» заголовок и примечание, установив в соответствующих строках значение «Да».

(Данные в отчете будут сгруппированы по именам клиентов, причем для каждого клиента можно посчитать итоги).

  1. Закройте диалоговое окно.

  2. Сместите нижний колонтитул так, чтобы после примечания группы можно было вставить два вычисляемых поля.

  3. На панели элементов выберите элемент «Поле» и разместите его ниже полосы «Примечание группы ФИО».

  4. Измените текст надписи (подписи) к полю, введя строку «Всего заказов».

  5. Правой кнопкой мыши щелкните по самому полю и выберите в контекстном меню строку «Свойства».

  6. В диалоговом окне свойств поля выберите вкладку «Данные» и в строке «Данные» щелкните кнопку для вызова построителя выражений.

  7. Двойным щелчком по значку + раскройте папку «Функции» и вложенную в нее папку «Встроенные функции».

  8. Выберите в расположенном справа окне категорию функций «Статистические» и в данной категории выберите функцию Count, вставьте ее в выражение двойным щелчком или щелчком по кнопке «Вставить» после выбора (в окне построителя выражений должно появиться выражение = Count («expr»)).

  9. Выражение в скобках нужно заменить на название поля, количество которых будет подсчитываться. Для этого дважды щелкните мышью по строке «expr» (она будет выделена) и раскройте в расположенном ниже окне папку «Оплата заказов». Для отчета с таким именем в окне справа будут выведены все включенные в него элементы. Найдите элемент «Стоимость» и дважды щелкните по нему. Построитель выражений сформирует строку «=Count([Стоимость])».

  10. Закройте окно построителя выражений.

  11. Закройте диалоговое окно свойств поля.

  12. Аналогичным образом разместите рядом вычисляемое поле «Общая стоимость», задав для вычисления данных выражение «=Sum([Стоимость])» (его можно ввести с клавиатуры или построить с помощью построителя выражений).

  13. Закройте окно конструктора отчетов.

Итоговые данные по группе (по каждому клиенту) внесены в отчет. Просмотрите его с помощью соответствующей кнопки.

Задание 5. Внесте в отчет итоговые данные по всем заказам. Для этого снова откройте конструктор отчетов и выполните следующие шаги:

  1. Расширьте в окне конструктора область примечания отчета.

  2. Выделите в области примечания группы «ФИО» размещенные в этой области вычисляемые поля и скопируйте их с помощью команды копировать.

  3. Выделите область примечания отчета в выполните вставку из буфера полей.

  4. Переименуйте первое поле, введя в надпись строку «Итого заказов» вместо «Всего заказов».

  5. Разместите новое поле, присвоив ему имя «Оплачено» и задав для вычисления данных выражение

=DSum("[Стоимость]";"[Оплата заказов]";"[Оплата заказов]![Оплачен]")

(суммируется стоимость оплаченных заказов, данные для суммирования выбираются из поля «Стоимость» отчета «Оплата заказов» по полю «Оплачен»).

  1. Скопируйте это поле и вставьте его ниже, изменив надпись на «Не оплачено» и выражение для вычисления значения соответственно на

=DSum("[Стоимость]";"[Оплата заказов]";" not [Оплата заказов]![Оплачен]")

Отчет готов. Его можно дополнительно отформатировать, просмотреть и выполнить для обработки в Word или Excel с помощью команды Связь с Office из меню Сервис. Файл отчета в Word прилагается.