Форматированное представление данных
Тема 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), а также определить, что показывать:
¤ данные и итоги
О только итоги
На следующих 2 шагах можно выбрать макет отчета и стиль его оформления, а также задать его имя.
ЗАКАЗЫ | |||
Код товара | Код клиента | Заказано | Продано |
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([Кредит]=; “ ”; “Кредит” &[Кредит])
Данное выражение в случае отсутствия значения в поле Кредит будет пустое, а в случае наличия кредита будет выводится надпись Кредит и его значение:
Кредит 400
Для того, что в случае [Кредит]=0 пустая строка “исчезла” из отчета, а не выводилась как пропуск, нужно в свойствах данного свободного поля во вкладке Макет в строке Сжатие установить режим Да.
Код клиента Фамилия Кредит | 10 Иванов 100 |
Код клиент Фамилия | 20 Сидоров |
Код клиента | 30 |
Создание отчета типа “электронная таблица”
Например, мы хотим построить таблицу, в которой информация о продаже и заказах по каждому Коду товара выводились в определенных столбцах помесячно:
Код товара | Январь | Февраль | ||
Заказано | Продано | Заказано | Продано | |
124 | 10 . .. | 10 | 20 | 0 |
Для этого в Конструкторе отчетов создаем следующий отчет:
Верхний колонтитул |
Рекомендуем посмотреть лекцию "1.3. Особенности защиты населения". Код товара Январь Февраль Заказано Продано Заказано Продано |
Установить признак группировки по Коду товара, добавив область Примечание группы. В данной области разделить поля Код товара и вычисляемое поле со следующим выражением:
=Sum(iif(mouth([Дата заказа])=1;[Заказано];0))
то есть, в функцию Sum будет попадать 0, если это не Январь, а иначе – поле [Заказано]. Аналогично по всем месяцам.
В области примечания отчета – сумму по всем полям таблицы.