Создание отчётов
ЛЕКЦИЯ 14. СОЗДАНИЕ ОТЧЕТОВ
Под отчетом понимается форматированное представление данных, выводимое на экран, принтер или в файл.
При создании отчета можно пользоваться стандартными средствами, ускоряющими процесс создания отчета, а можно разработать для отчета специальный формат с помощью конструктора отчетов. Конструктор отчетов позволяет создавать отчеты, как в табличном виде, так и в свободной форме.
Табличный отчет представляет собой напечатанную таблицу, в которой данные упорядочены по столбцам и строкам. Каждый из столбцов отчета содержит поле исходной таблицы или вычисляемое поле, а строка представляет собой запись.
Отчеты в свободной форме позволяют устранить ограничения, свойственные табличным отчетам.
Простейшим способом создания отчета является использование Автоотчета. Для этого необходимо:
ü выделить название таблицы, запроса, на основе которых будет создаваться отчет;
ü выбрать команду Вставка/Автоотчет или кнопку Новый объект, в котором нужно выбрать команду Автоотчет.
Рекомендуемые материалы
Данный Автоотчет по структуре будет напоминать Автоформу, но информация по каждой записи, которая в формах выводится на отдельных листах, теперь будет расположена на листе последовательно.
Код товара Код клиента Дата заказа Заказано Продано Код товара Код клиента Дата заказа Заказано Продано | 123 110 10.01.01 100 80
124 110 11.01.01 120 0 |
Для создания отчетов используются следующие средства:
ü Конструктор отчетов;
ü Мастер отчетов, позволяющий создать отчет путем выбора полей;
ü Автоотчет в столбец;
ü Автоотчет ленточный;
ü Диаграмма, создающая отчет, содержащий отображение данных в виде диаграммы;
ü Почтовые наклейки.
При использовании, например, Ленточного Автоотчета, отчет будет иметь вид таблицы, в которой названия полей выступают в качестве заголовков. Такой отчет удобно использовать при небольшом количестве полей.
Заказы | ||
Код товара | Код клиента | Дата заказа |
110 111 111 111 | 124 130 124 115 | 01.01.00 01.04.00 02.03.00 12.03.00 |
Использование мастера для создания отчета
Для запуска Мастера отчетов в окне Отчеты необходимо вызвать команду Создать/Мастер отчетов.
На первом шаге необходимо выбрать поля, которые будут участвовать в отчете.
На втором шаге следует определить поле, по которому будет выполняться группировка.
На третьем шаге выбирать порядок сортировки полей и вычислений.
Если выбрать кнопку Итоги, то можно задать функцию для поля отчета (например, по полям Заказано и Продано - Sum), а также определить, что показывать:
¤ данные и итоги или О только итоги
На следующих двух шагах можно выбрать макет отчета и стиль его оформления, а также задать его имя.
ЗАКАЗЫ | |||
Код товара | Код клиента | Заказано | Продано |
Sum 124 Sum | 12 13 13 | 40 50 90 10 10 | 30 10 40 20 20 |
Итого | 100 | 60 |
Для построения отчета в виде Диаграммы нужно:
ü во вкладке Отчеты нажать кнопку Создать/Мастер диаграмм и выбрать таблицу или запрос, на основе которого будет строится отчет
ü выбрать поля, которые будут отражаться в Диаграмме;
ü перетащить числовые поля в область Данные, а текстовые значения – в область Оси и Ряды.
В результате построения диаграммы будет создан Отчет, содержащий графические данные.
Для просмотра такого отчета перед печатью можно выделить имя данного отчета во вкладке Отчеты и вызвать команду Файл/Предварительный просмотр.
Для изменения отчетов, созданных с помощью Мастера, или для создания собственных отчетов используется Конструктор. Создание отчета аналогично конструированию формы.
Окно Конструктора форм состоит из следующих областей:
ü заголовок отчета (размещается в начале отчета);
ü верхний колонтитул (отображается в начале каждой страницы и над заголовком отчета);
ü область заголовка группы (отображается перед первой записью каждой группы);
ü область данных (отображается для каждой записи, входящей в отчет);
ü область примечаний группы (отображается в области данных после последней записи каждой группы);
ü нижний колонтитул (отображается в нижней части каждой страницы);
ü область примечаний (отображается в конце отчета).
Например, нам нужно создать отчет по Клиентам, по которым выполнены заказы. Для этого поступаем следующим образом:
1) создаем Многотабличный Запрос, в который помещаем поля:
ü Код товара
ü Фамилия
ü Имя
ü Отчество
ü Заказано
ü Продано
2) во вкладке Отчеты вызываем кнопку Создать/Конструктор и выбираем в качестве источника созданный Многотабличный Запрос
|
Область данных |
Код товара |
Нижний колонтитул |
3) все поля из Списка полей перетаскиваем в Область данных. Если в Области данных будет располагаться поле и его подпись, то Отчет будет иметь вид
Код товара Код товара | 123 124 | Фамилия Фамилия | Иванов Петров |
Или
Код товара | Фамилия |
123 | Иванов |
Код товара | Фамилия |
124 | Петров |
Для того чтобы слова Код товара и, Фамилия и т.д. не повторялись каждый раз, а выводились как шапка таблицы, их нужно перетащить в область Верхнего колонтитула, который будет повторяться в начале каждой страницы.
4) построим вычисляемое выражение, позволяющее сформировать из полей Фамилия, Имя и Отчество единое поле. Для этого в область данных вставляется свободное Поле, и в свойствах в строке данных записываем выражение =[Фамилия]&“ ”&[Имя]
Код товара | ФИО | Заказано | Продано |
Код товара | [Фамилия]&[Имя] | Заказано | Продано |
5) введем признак Группировки по Коду товара. Для этого необходимо нажать кнопку Группировка и Сортировка.
Откроется окно:
Сортировка и группировка | ||
Поле/выражения | Порядок сортировки | |
Код товара | 6 | По возрастанию |
Свойства группы | ||
Заголовок группы | Да | |
Примечания группы | Да | |
Группировка | По полному значению | |
Интервал | 1 | |
Не разрывать | Нет | |
Рассмотрим подробнее свойства группы.
Заголовок группы – добавляет в отчет заголовок группы
Примечание группы – добавляет в отчет область примечания группы (используется для размещения суммы или других итогов по группе)
Группировка – определяет способ группировки.
Не разрывать – указывает, следует ли печатать разные элементы одной группы на одной странице отчета (нет – группа печатается без обязательного размещения различных областей на одной странице)
ü полную группировку – вся группа печатается на одном листе
ü первую область данных – заголовок печатается на текущей странице только в том случае, если вместе с ним помещается первая запись области данных.
Выбрав в качестве поля группировки Код товара, определим наличие Заголовка и Примечания группы. При этом в отчете добавляются новые области.
Верхний колонтитул |
ФИО Заказано Продано |
Заголовок группы «Код товара» |
Информация по коду товара [Код товара] |
Область данных |
=[Фамилия]&[Имя] Заказано Продано |
Примечание группы «Код товара» |
Сумма по товару =Sum([Заказано]) =Sum([Продано]) |
Нижний колонтитул |
Поместим в область заголовка группы Надпись и переместим в нее поле Код товара. При этом отчет будет иметь вид:
Информация по клиентам Иванов Иван Петров Петр Информация по клиентам Сидоров Сидор | Заказано 30 40 20 | Продано 123 124 |
Для того чтобы по каждой группе товаров появились итоги, необходимо в область примечания группы «Код товара » добавить вычисляемое поле =Sum([Заказано]) и =Sum([Продано]).
Кроме того, желательно вставить еще одно вычисляемое поле, в котором построить следующее выражение:
="Сумма по товару"&[Код товара] |
Теперь отчет будет иметь вид:
ФИО | Заказано | Продано |
Информация по коду товара 123 | ||
Иванов И.И. Петров П.П. | 30 40 | 40 50 |
Сумма по товару 123 | 70 | 90 |
Информация по товару 124 Сидоров С.С. | 20 | 20 |
Сумма по товару 124 | 20 | 20 |
Итоги могут проводиться по каждой группе отдельно, а также с накопительным итогом. Для этого необходимо вызвать свойства вычисляемого поля Сумма и во вкладке Данные в строке Сумма с накоплением вместо режима Отсутствует выбрать режим Для группы. Тогда по первой группе сумма будет равна 70 и 90, а по второй – 90 и 110. Можно сделать два поля – одно – с накоплением, а другое – без. Например:
Сумма по товару 123.
=Sum([Заказано]) | без с накоплением | |
С накоплением итога | =Sum([Заказано]) |
Если Вы создаете отчет типа
Клиенты Код клиента Фамилия | 10 Иванов |
Код клиента Фамилия | 20 Петров |
и хотите, чтобы в том случае, если в поле Кредит значение отсутствует, данная строка не выводилась на экран вместе с подписью, необходимо вставить свободное поле и в Свойствах в строке Данные ввести выражение:
=iif([Кредит]=0; “ ”; “Кредит” &[Кредит])
Это выражение в случае отсутствия значения в поле Кредит будет пустое, а в случае наличия кредита будет выводиться надпись Кредит и его значение:
Кредит 400
Для того, чтобы в случае [Кредит]=0 пустая строка “исчезла” из отчета, а не выводилась как пропуск, нужно в свойствах свободного поля во вкладке Макет в строке Сжатие установить режим Да.
Код клиента Фамилия Кредит | 10 Иванов 100 |
Код клиент Фамилия | 20 Сидоров |
Код клиента | 30 |
Создание отчета типа “электронная таблица”
Например, мы хотим построить таблицу, в которой информация о продажах и заказах по каждому Коду товара выводилась бы в определенных столбцах помесячно:
Код товара | Январь | Февраль | ||
Заказано | Продано | Заказано | Продано | |
124 | 10 . .. | 10 | 20 | 0 |
Для этого в Конструкторе отчетов создаем следующий отчет:
Обратите внимание на лекцию "Теории и тенденции развития современных мировых СМИ". Верхний колонтитул |
Код товара Январь Февраль Заказано Продано Заказано Продано |
Устанавливаем признак группировки по Коду товара, добавив область Примечание группы. В данной области разделяем поля Код товара и Вычисляемое поле со следующим выражением:
=Sum(iif(mouth([Дата заказа])=1;[Заказано];0))
Таким образом, в функцию Sum будет попадать 0, если это не Январь, а иначе – поле [Заказано]. Аналогично по всем месяцам.