### Оглавление

Назад | Вперед

Разработка отчетов в среде MS Access

Отчеты

Отчеты позволяют представить и распечатать данные в соответствии с требованиями пользователя. Причем возможности оформления данных для вывода на печать почти настолько же гибки, как и возможности отображения их на экране. Отчеты очень похожи на формы. Так, например, режимы конструктора форм и отчетов почти идентичны. Это также касается панели инструментов, панели элементов, а также средств, предназначенных для размещения и работы с элементами управления. При работе над отчетом вы можете использовать те же области, что и при создании форм: области заголовка и примечания, области верхнего и нижнего колонтитулов, а также область данных. Кроме того, вы можете включить в отчеты до четырех областей для полей, по которым осуществляется группировка записей. MS Access печатает верхний колонтитул вверху каждой печатной страницы. Нижний колонтитул размещается в конце каждой печатной страницы. В отличие от них, заголовок отчета печатается один раз в начале, а примечание отчета – один раз в конце отчета. Содержимое области данных печатается один раз для каждой записи исходной таблицы или запроса. Кроме того, пользователь может определить несколько полей, по которым будет проводиться группировка записей исходной таблицы или запроса. Тогда для каждого поля, по которому проводится группировка данных, MS Access в качестве областей отчета формирует заголовок группы и примечание группы.

Однако между формами и отчетами имеется существенное различие – отчеты предназначены исключительно для вывода данных на печать. В них отсутствует необходимость наличия управляющих элементов для ввода данных. Поэтому в отчетах можно отказаться от использования списков, полей со списком и флажков. Так как отчеты предназначены только для вывода данных на печать, для них нельзя установить режим таблицы или формы. Для отчета можно выбрать только режим конструктора и предварительного просмотра. При обработке больших таблиц или запросов иногда прибегают к просмотру отчетов, осуществляемому с помощью команды “Файл”® “Предварительный просмотр”. Как правило, данная операция требует меньше времени по сравнению с созданием отчета, однако в этом случае в ваше распоряжение предоставляется минимальный набор средств.

Одноколонные отчеты

Простейший путь создания отчета состоит в использовании интегрированных в MS Access мастеров отчетов. Перейдите на вкладку “Отчеты” и нажмите на кнопку “Создать”. Выберите в окне базы данных таблицу или запрос, данные которых требуется напечатать. Затем выберите пиктограмму “НОВЫЙ ОТЧЕТ”. В диалоговом окне "Создание отчета" нажмите кнопку "Мастер".

MS Access отображает список доступных мастеров отчетов, выберите “В один столбец” и нажмите ОК. Первое диалоговое окно мастера предназначено для выбора полей, которые должны быть представлены в отчете. Выберите поля в нужной последовательности, после чего нажмите кнопку "Далее".

Во втором диалоговом окне мастера вы можете задать, по каким полям данных из таблицы или запроса должна осуществляться сортировка записей. Подтвердите установку нажатием кнопки "Далее". После того, как будет выбран стиль оформления отчета и задан его заголовок, в последнем диалоговом окне мастера следует нажать кнопку "Готово". Мастер создает отчет, и MS Access откроет его в режиме предварительного просмотра. Для вывода отчета на бумагу нажмите пиктограмму “ПЕЧАТЬ”.

Наиболее быстрый способ создания отчета, всего за один шаг, заключается в выборе таблицы или запроса в окне базы данных, а затем – пиктограммы “ПРОСТОЙ ОТЧЕТ”.

Отчеты с группировкой данных

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

Во втором диалоговом окне можно задать до четырех полей, по которым будет осуществляться группировка данных. Например, если вы создаете отчет для таблицы товаров, то здесь можно указать поля "Тип" и "Цена". В этом случае мастер создает отчет, в котором данные исходной таблицы объединены по категориям и ценам.

Кроме этого, если в отчете представлены числовые поля, для каждой группы мастер автоматически вычисляет сумму значений, содержащихся в этих полях. Так, например, можно создать отчет, в котором товары сгруппированы по категориям и ценам и для каждой категории указана сумма цен товаров.

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

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

Если вы хотите самостоятельно внести изменения в групповой отчет, в режиме Конструктора следует выбрать пиктограмму “СОРТИРОВКА И ГРУППИРОВКА”. После чего MS Access открывает одноименное окно, в котором можно выбрать поля для группировки отчета.

Задание управляющего элемента в одной из областей отчета автоматически определяет его функцию. Например, если в области примечаний группы "Тип" определить управляющий элемент с выражением: =Sum( [Цена] ) в результате будет вычислена сумма цен на товары по каждой категории.

Конструктор отчетов

Оформление отчета осуществляется в режиме конструктора. Переход из окна базы данных в режим конструктора осуществляется нажатием кнопки "Конструктор".

Режим конструктора для отчетов очень похож на аналогичный режим для форм. Даже панель элементов для создания новых управляющих элементов та же. Однако в нем содержится одна пиктограмма, которая при создании форм не используется. Это пиктограмма “КОНЕЦ СТРАНИЦЫ”.

Как правило, MS Access автоматически выполняет разбивку по страницам. Правила разбивки устанавливаются в свойствах отчета. Однако, используя пиктограмму “КОНЕЦ СТРАНИЦЫ”, можно осуществлять переход на новую страницу вручную и, следовательно, выполнить разбивку по страницам в соответствии с требованиями пользователя.

По умолчанию MS Access различает в отчете пять областей. Заголовок и примечание отчета печатаются один раз в начале и в конце отчета. Обе эти области вы можете включать и выключать посредством команды Формат/Заголовок.

Верхний и нижний колонтитулы страницы выводятся соответственно вверху и внизу на каждой отпечатанной странице. Обе эти области можно включать и выключать посредством команды Формат/Колонтитулы.

Наиболее важной является область данных отчета. MS Access распечатывает ее один раз для каждой записи исходной таблицы или запроса.

Каждая из пяти областей отчета имеет собственные свойства. Выберите пиктограмму “СВОЙСТВА”, чтобы MS Access открыл окно свойств. Затем выберите одну из полосок с наименование области отчета. В результате в строке заголовка окна свойств отображается текст: "Раздел" и имя соответствующей области.

С помощью свойства "Конец страницы" вы определяете, должен ли осуществляться переход к новой странице перед началом области. Интересной является также свойство "Не разрывать". Если установить для данного свойства значение "Да", MS Access попытается напечатать управляющие элементы области на одной странице.

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

Использование вычисляемых значений

MS Access предоставляет десятки встроенных функций, которые можно использовать для обработки данных или для добавления информации в отчет. Одним из видов информации, которая наиболее часто включается в отчет, является информация о дате подготовки отчета или номера текущих страниц. Для дат MS Access предоставляет две встроенные функции Date() и Now() возвращающие текущие системные даты. Чтобы добавить текущую дату в отчет, необходимо создать несвязанное поле и установить его свойство "Данные" в значение =Date() (или Now()).

Чтобы добавить номер страницы, используйте свойство отчета "Страница" (Page), посредством создания несвязанного поля и установки его свойства "Данные" равным "Страница" (Page).

Главные и подчиненные отчеты

Помимо внедрения в другие формы подчиненных форм, существует возможность вставлять подчиненные отчеты (или подчиненные формы) в другие отчеты.

На первом шаге создайте стандартный отчет для подчиненной таблицы. Сохраните отчет под именем "Подчиненный". На втором шаге создайте отчет для главной таблицы. Сохраните данный отчет под именем "Главный".

На третьем шаге объедините оба отчета и перейдите в окно базы данных. Затем в режиме Конструктора буксируйте подчиненный отчет из окна базы данных в область данных главного отчета. В результате MS Access автоматически размещает управляющий элемент для подчиненного отчета.

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

Отметьте, что MS Access ввел для свойств управляющего элемента "Подчиненные поля" и "Основные поля" наименование связующего поля. Посредством этих двух свойств устанавливается связь между главным и подчиненным отчетами. При объединении главного и подчиненного отчетов для двух таблиц, которые не были связаны предварительно, вы должны самостоятельно определить значения этих свойств.

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