Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Access 2003.doc
Скачиваний:
4
Добавлен:
26.04.2019
Размер:
744.96 Кб
Скачать

5.4.Отчеты для связанных таблиц

Как правило, данные для отчета находятся в разных таблицах. Так, фамилии покупателей хранятся в таблице ПОКУПАТЕЛЬ, названия товаров – в таблице ТОВАР, заказы – в таблице ЗАКАЗ, причем в ней содержатся только коды товаров и покупателей. Для понятного читателю отчета о заказах коды не нужны, он должен видеть фамилии покупателей, названия товаров и категорий и т.п. За счет связей между таблицами базы данных эта проблема легко решается.

Создадим отчет “По покупателям”, содержащий данные по покупкам каждого покупателя с указанием названий товаров, их цены, количества, стоимости и суммы по каждому покупателю и общей суммой по всем покупателям. За источник данных возьмем созданный ранее запрос “Заказы со стоимостью”.

Выберем закладку Отчеты в окне базы данных, нажмем кнопку Создать, выберем в качестве источника данных указанный выше запрос и пункт Мастер отчетов. Выберем все поля запроса, в следующем окне мастера назначим группировку по полю Фамилия ИО (для этого нужно использовать кнопки пересылки и Уровень), интервал группировки полей Обычный. Далее выберем сортировку по полю Наименование. Здесь же нажмем кнопку Итоги... и выберем вычисление сумм (поле SUM) только по полю Стоимость. Далее пусть макет будет ступенчатым, ориентация пусть будет альбомной. Выберем для разнообразия обычный стиль. В качестве заголовка отчета введем Отчеты по покупателям. Все готово, можно посмотреть, что получилось.

Теперь можно внести изменения с помощью Конструктора. Удалим длинное поле со служебными замечаниями из области Примечание группы "Фамилия ИО". Здесь же заменим подпись Sum на Итого, размер шрифта с 8 на 11. Поднимем поля Итого и =Sum([Стоимость]) вверх до границы Примечаний группы, ниже проведем горизонтальную линию. Теперь создание отчета можно считать законченным.

  1. Создать аналогичный отчет “По товарам” для распределения покупок по товарам по тому же запросу “Заказы со стоимостью”: по каждому товару собрать в группу покупателей этого товара, найти уплаченные ими суммы и общие затраты на все покупки.

  2. Создать отчет “Тип-наименование-цена” по таблицам ТОВАР и КАТЕГОРИЯ ТОВАРА. Собрать товары одной категории в группы, напечатать среднюю цену по группе и по всем группам вместе. Предварительно создать запрос “Тип-наименование-цена” с полями Значение из таблицы КАТЕГОРИЯ ТОВАРА и Наименование и Цена из таблицы ТОВАР.

5.5. Группировка по нескольким уровням

Теперь решим более сложную задачу группировки данных по двум уровням. Выведем отчет распределения заказов на старшем уровне по категории товаров. Внутри каждой категории соберем в группу данные по каждому товару из группы и найдем итоги по всей иерархии группировок.

Вначале создадим запрос “Типы-Товары-Заказы”, отбирающий необходимые нам данные. Выберем закладку Запрос, нажмем кнопку Создать, выберем три таблицы: ТОВАР, КАТЕГОРИЯ ТОВАРА и ЗАКАЗ. В бланк запросов QBE отбуксируем поле Значение из таблицы КАТЕГОРИЯ ТОВАРА, поле Наименование из таблицы ТОВАР, поля Дата продажи и Количество товара из таблицы ЗАКАЗ, поле Цена из таблицы ТОВАР. Создадим вычисляемое поле Стоимость. Выберем Сортировку в первой и второй графе по возрастанию. Теперь можно просмотреть результаты запроса и сохранить его с именем “Типы-Товары-Заказы”.

На основании этого запроса с помощью Мастера отчетов создадим требуемый отчет. Введем в него все поля. Для группировки выберем два поля: Значение на верхнем уровне и Наименование на нижнем. Сортировку будем производить по полю Дата продажи, Итоги будем считать по полю Стоимость и Количество товара. В качестве макета выберем Структура 1, Ориентацию – Альбомную, Строгий стиль. Готово.

Как обычно, исправим внешний вид отчета в Конструкторе.

  1. Создать отчет “Двойная группировка” по таблице ЗАКАЗ с двойной группировкой: по полям Дата продажи и Код товара, включающий поле Количество товара для подсчета итогов.

  2. Создать отчет “По покупателям и датам” (по таблицам ЗАКАЗ, ПОКУПАТЕЛЬ И ТОВАР): по каждому покупателю собрать в группу его покупки с указанием названия товара, количества, цены и стоимости покупки. Рассортировать их по датам в порядке убывания (предполагается, что в один день покупатель может сделать несколько покупок, и приходит он в магазин не один раз). Найти суммы по датам и по покупателям и сумму в целом. Предварительно создать соответствующий запрос, использующий связанные таблицы.

Проверьте Ваши знания, выполнив следующие задания.

  1. Наиболее удобным способом введите в базу информацию о том, что один из Ваших покупателей приобрел сегодня клавиатуру.

  2. Дирекция магазина просит Вас предоставить информацию о клиентах, совершивших покупки за последние 7 дней. В связи с проводимой акцией им будут вручены подарочные сертификаты на 10% от суммарной стоимости их покупок за эту неделю. Рассчитайте стоимость сертификатов.