Отчет может создаваться с помощью мастера или в режиме конструктора отчетов. Во многих случаях удобно использовать мастера отчетов. Созданный мастером отчет можно доработать в режиме конструктора. При необходимости вывода в отчете результатов решения задачи, в качестве основы для отчета может быть использован многотабличный запрос. На запрос могут быть возложены наиболее сложные виды выборки и предварительной обработки данных. Разнообразные возможности конструктора отчетов позволяют легко структурировать и оформить полученные в запросе данные.
Основы конструирования отчетов
Режим конструктора отчетов во многом похож на режиме конструктора форм. Панель элементов аналогична панели элементов, используемой при разработке форм.
Разделы отчета
При создании отчета в режиме конструктора в окне первоначально отображаются пустые разделы отчета.
В верхний и нижний колонтитул обычно помещают заголовки, номера страниц и даты.
При определении содержания этих разделов следует исходить из требования к оформлению отдельных страниц отчета. В области данных размещаются поля таблиц базы данных или запросов.
Рис.1. Разделы отчета в режиме конструктора отчетов
При необходимости группировки записей по полю в окно конструктора отчетов могут быть добавлены разделы Заголовок группы и Перемещение группы. В заголовке группы, как правило, размещаются поля, по которым производится группировка. В примечании группы могут быть размещены выражения для подведения итогов по группе. Допускается до 10 уровней группировки выводимых записей.
Как и любые другие элементы базы банных отчеты можно создавать различными способами: с помощью конструктора, с помощью мастера отчетов и т.д.
Группировка и сортировка данных отчета
Для выполнения требований к группировке и сортировке отображаемых в отчете данных можно использовать кнопку Сортировка и группировка на панели инструментов конструктора. Далее задаются необходимые параметры в открывающемся диалоговом окне Сортировка и группировка.
Группировка по полю
В окне Сортировка и группировка в столбце Поле/выражение необходимо записать имя поля для группировки или выбрать это поле из раскрывающегося списка полей источника. В области Свойства группы в строках Заголовок группы и Примечание группы следует выбрать значение Да.
Выберем для группировки необходимое поле.
После определения группировки в окне конструктора отчета появляются дополнительные разделы Заголовок, Примечание.
Сортировка по полю
Для задания сортировки в следующей строке диалогового окна достаточно записать (выбрать) имя соответствующего поля. В области Свойства группы этого поля в строках Заголовок и Примечание по умолчанию установлены значения Нет, что и устанавливает по этому полю только сортировку.
Включение вычисляемого поля для расчета итоговых значений
Для создания вычисляемого поля с итоговым значением по группе записей разместим его в раздел Примечание. Для включения расчетного реквизита используется кнопка Поле на панели элементов, которая позволит сформировать элемент Свободный.
Далее нужно открыть свойства создаваемого элемента и на вкладке Данные ввести в строку Данные необходимое выражение для выполнения групповой операции (суммирование, расчет среднего арифметического и т, п.). При необходимости, следует выбрать в раскрывающемся списке Число десятичных знаков нужную точность расчета. На вкладке Макет в раскрывающемся списке Формат поля выбирается требуемый формат.
Добавление текущей даты и номера страницы
Для добавления в отчет текущей даты можно использовать встроенную функцию now () из категории Дата/время. Сначала в области Заголовок отчета с помощью кнопки Поле создается свободный элемент. В окне его свойств на вкладке Данные в строке Данные нужно записать значение =now( ). Функцию now можно выбрать в построителе, отметив из встроенных функций категорию Дата/время. На вкладке Макет в раскрывающемся списке Формат поля выбирается значение Длинный формат даты. Подпись этого поля можно удалить.
Для добавления номера страницы в области нижнего колонтитула создается поле как свободный элемент. В окне его свойств на вкладке Данные, в строку Данные записывается выражение =[Page]. Подпись этого поля можно отредактировать, записав в его свойствах на вкладке Макет в строке Подпись — Стр.
Существуют и другие способы формирования поля даты и номера страницы. Добавить в отчет поле текущей даты и времени можно, выполнив в режиме конструктора команду, Вставка | Дата и время. Установка в диалоговом окне Дата и время флажков Формат даты и/или Формат времени позволяет вставить текущую дату и/или текущее время и выбрать нужный вариант форматов. В случае отсутствия раздела заголовка поле текущих даты и времени вносится в раздел данных.
В результате в отчете будет создано поле, в окне свойств которого на вкладке Данные в строке Данные будет записано выражение =Date(). Если в отчете имеется раздел заголовка, поле добавляется в этот раздел.
Добавить в отчет поле нумерации страниц можно в режиме конструктора с помощью команды Вставка | Номера страниц. В диалоговом окне Номера страниц выбираются параметры, определяющие формат, расположение и выравнивание номеров страниц. Для печати номера страницы на первой странице устанавливается флажок Отображать номер на первой странице.
Вывод номеров страниц можно задать, формируя соответствующе выражение в окне свойств поля на вкладке Данные в строке Данные. Такое выражение можно получить в построителе, открыв там папку Общие выражения и далее – категорию Номер страницы. При этом построитель предлагает выражение = «Страница» &[Page]. Если выбрать категорию Страница N из M, построитель предлагает выражение = «Страница»&[Page] «из» & [Page].