Разработка отчетов

Отчет может создаваться с помощью мастера или в режиме конструктора отчетов. Во многих случаях удобно использовать мастера отчетов. Созданный мастером отчет можно доработать в режиме конструктора. При необходимости вывода в отчете результатов решения задачи, в качестве основы для отчета может быть использован многотабличный запрос. На запрос могут быть возложены наиболее сложные виды выборки и предварительной обработки данных. Разнообразные возможности конструктора отчетов позволяют легко структурировать и оформить полученные в запросе данные.

Основы конструирования отчетов

Режим конструктора отчетов во многом похож на режиме конструктора форм. Панель элементов аналогична панели элементов, используемой при разработке форм.

Разделы отчета

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

В верхний и нижний колонтитул обычно помещают заголовки, номера страниц и даты.

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

img_18_1 

Рис.1. Разделы отчета в режиме конструктора отчетов

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

img_18_2 

Как и любые другие элементы базы банных отчеты можно создавать различными способами: с помощью конструктора, с помощью мастера отчетов и т.д.


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

Группировка по полю

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

Выберем для группировки необходимое поле.

После определения группировки в окне конструктора отчета появляются дополнительные разделы Заголовок, Примечание.

Сортировка по полю

Для задания сортировки в следующей строке диалогового окна достаточно записать (выбрать) имя соответствующего поля. В области Свойства группы этого поля в строках Заголовок и Примечание по умолчанию установлены значения Нет, что и устанавливает по этому полю только сортировку.

Включение вычисляемого поля для расчета итоговых значений

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

Далее нужно открыть свойства создаваемого элемента и на вкладке Данные ввести в строку Данные необходимое выражение для выполнения групповой операции (суммирование, расчет среднего арифметического и т, п.). При необходимости, следует выбрать в раскрывающемся списке Число десятичных знаков нужную точность расчета. На вкладке Макет в раскрывающемся списке Формат поля выбирается требуемый формат.


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

Для добавления номера страницы в области нижнего колонтитула создается поле как свободный элемент.  В окне его свойств на вкладке Данные, в строку Данные записывается выражение =[Page]. Подпись этого поля можно отредактировать, записав в его свойствах на вкладке Макет в строке Подпись — Стр.

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

В результате в отчете будет создано поле, в окне свойств которого на вкладке Данные в строке Данные будет записано выражение =Date(). Если в отчете имеется раздел заголовка, поле добавляется в этот раздел.

Добавить в отчет поле нумерации страниц можно в режиме конструктора с помощью команды Вставка | Номера страниц. В диалоговом окне Номера страниц выбираются параметры, определяющие формат, расположение и выравнивание номеров страниц. Для печати номера страницы на первой странице устанавливается флажок Отображать номер на первой странице.

Вывод номеров страниц можно задать, формируя соответствующе выражение в окне свойств поля на вкладке Данные в строке Данные. Такое выражение можно получить в построителе, открыв там папку Общие выражения и далее – категорию Номер страницы. При этом построитель предлагает выражение = «Страница» &[Page]. Если выбрать категорию Страница N из M, построитель предлагает выражение = «Страница»&[Page] «из» & [Page].