Создание отчета для одной таблицы
Создание отчета для одной таблицы
Рассмотрим технологию создания однотабличного отчета на примере получения списков студентов по группам.
Пусть в результате проектирования макета отчета СПИСКИ СТУДЕНТОВ определены перечисленные ниже требования. Макет формируемого отчета должен иметь вид в соответствии с рис.6.3. На макете показано оформление списка студентов для одной группы. В отчете должны последовательно выводится со своими заголовками списки студентов для каждой группы. При формировании отчета необходимо рассчитать средний проходной балл для каждой группы и отобразить его в отчете. Записи списка группы должны выводится в порядке возрастания номера студента в группе. Название отчета должно выводится на каждой странице отчета.
Рис.6.3. Проект макета для создания однотабличного отчета со списками студентов по группам
Создание однотабличного отчета в режиме конструктора
В окне базы данных выберем объект Отчеты (Reports) и нажмем кнопку Создать (New). Далее в диалогом окне Новый отчет (New report) выберем таблицу СТУДЕНТ, которая будет источником данных для отчета (рис.6.4). Для создания отчета в режиме конструктора выберем Конструктор (Design).
В открывшемся окне конструктора (см. рис.6.6) макет создаваемого отчета содержит разделы, указанные на рис.6.1. Если отсутствует раздел Заголовок отчета (Report Header), включим его с помощью кнопки Заголовок/примечание отчета (Report Header/Footer) панели конструктора отчетов (см. рис.6.2).
Рис.6.4. Окно выбора варианта создания отчета и таблицы-источника данных отчета
Группировка и сортировка данных отчета
Для выполнения требования к группировке и сортировке данных, отображаемых в отчете, нажмем кнопку Сортировка и группировка (Sorting and grouping) на панели инструментов конструктора и зададим необходимые параметры в открывшемся диалоговом окне Сортировка и группировка (Sorting and grouping) (рис.6.5).
Рис.6.5. Окно определения групп записей по полю НГ и сортировке по полю НС
Группировка по полю. Поскольку общий список студентов в соответствии с проектом отчета должен быть разбит по группам, выберем в окне Сортировка и группировка (Sorting and grouping) из списка поле номера группы НГ, зададим группировку по этому полю. Для этого в области Свойства группы строках Заголовок группы (НГ Header) и Примечание группы (НГ Footer) надо выбрать Да (Yes). Сортировка для поля устанавливается автоматически.
Сортировка по полю. Для вывода отсортированного списка студентов в каждой группе зададим сортировку по полю номера студента НС. Для этого в диалоговом окне выберем наряду с полем НГ поле НС. В области Свойства группы этого поля в строках Заголовок группы (НГ Header) и Примечание группы (НГ Footer) по умолчанию установлены значения Нет (No), что и определяет сортировку только по этому полю.
После определения группировки в окне конструктора отчетов (рис.6.6) появляются дополнительные разделы Заголовок группы НГ (НГ Header), Примечание группы НГ (НГ Footer).
Рис.6.6. Окно конструктора отчетов при разработке отчета для вывода данных из одной таблицы СТУДЕНТ
Размещение данных в разделах отчета
Данные в отчете должны быть размещены, как показано на проекте макета отчета (см.6.3).
Размещение полей из таблиц
Размещение поля группировки. Значение номера группы должно быть представлено один раз в заголовке группы. Для этого разместим поле НГ в разделе Заголовок группы НГ (НГ Header).
Нажмем кнопку панели инструментов конструктора отчетов Список полей (Field List) (см.рис.6.2) и перетащим поле НГ в раздел заголовка НГ. Откорректируем подпись поля, изменив ее на "Список студентов группы" (рис.6.6). Установим нужный шрифт в элементах. Для установки размеров рамки по размеру текста подписи выполним команду Формат|Размер|по размеру данных (Format|Size|Size To Fit) или соответствующую кнопку панели инструментов.
Форматирование табличной части отчета. Последовательно разместим поля НС, ФИО, ДАТАР, ПБАЛЛ в области данных, которая определяет содержимое строк табличной части. Поле размещается вместе с подписью, которую система берет из свойств полей таблицы СТУДЕНТ. Подписи полей надо перенести в область заголовка путем вырезания и вставки. Если они не совпадают с названиями столбцов в проекте макета, их надо откорректировать. Заметим, что подписи также можно создать заново, воспользовавшись кнопкой панели элементов Надпись (Lable).
Включение вычисляемого поля в отчет
Для включения расчетного реквизита Средний проходной балл группы нажмем кнопку Поле (Text Box) на панели элементов и разместим элементы Свободный (Unbound) в раздел Примечание группы НГ (НГ Footer) (см. рис. 6.6). Определим в свойствах этого элемента выражение для расчета среднего значения. Для этого запишем на вкладке Данные (Data) в строку Данные (Control Source) функцию =Avg ([ПБАЛЛ]), в строку Число десятичных знаков (Decimal Places) - "2", на вкладке Макет (Format) в строку Формат поля (Format) поместим значение "Фиксированный"(Fixed). Отредактируем подпись поля. Для этого выделим подпись и вызовем ее свойства. В свойствах на вкладке Макет (Format) в строке Подпись (Caption) запишем: "Средний проходной балл группы". Такие действия, как изменение подписи или ввод выражения в поле можно выполнить, и не обращаясь к свойствам элементов.
Добавление текущей даты к странице
Для добавления в отчет текущей даты воспользуемся встроенной функцией Now(). Для этого создадим в заголовке отчета свободный элемент, нажав кнопку Поле (Text Box), и зададим в окне его свойств на вкладке Данные (Data) в строке Данные (Control Source) выражение =Now(). На вкладке Макет (Format) в строке Формат поля (Format) выберем значение Полный формат даты (General Date). Подпись этого поля выделим и удалим.
Для добавления номера страницы в нижний колонтитул создадим свободный элемент и заполним в его свойствах на вкладке Данные (Data) строку Данные (Control Source) выражением =[Page]. Отредактируем подпись этого поля, записав в его свойствах на вкладке Макет (Format) в строке Подпись (Caption) значение "Стр".
Рассмотрим другие способы формирования поля даты и номера страницы.
Поле текущей даты и времени можно добавить в отчет, выполнив в режиме конструктора команду Вставка|Дата и время (Insert|Date and Time…). Установка в диалоговом окне Дата и время (Date and Time) флажков Формат даты (Include Data) и /или Формат времени (Include Time) позволяет вставить текущую дату и/или текущее время и выбрать нужный формат (рис.6.7).
Рис.6.7. Окно выбора формата даты и/или времени
В отчет будет добавлено поле, в свойствах которого на вкладке Данные (Data) в строке Данные (Control Source) будет записано соответствующее выражение. Если в отчете имеется раздел заголовка, поле добавляется в этот раздел. В противном случае поле вносится в раздел данных. В качестве выражения записывается функция Format, которая формирует значение на основе заданных ей аргументов - функции Date(), возвращающей текущую системную дату, и формата, в котором должна выводится дата. Например, при выборе параметров, отображенных на рис.6.7, функция примет вид =Format(Date();"Long Date").
Поле нумерации страниц можно добавить в отчет, выполнив в режиме конструктора команду Вставка|Номера страниц (Insert|Page Number). В окне диалога Номера страниц (Page Numbers) выбираются параметры, определяющие формат, расположение и выраынивание номеров страниц (рис.6.8). Для печати номера страницы на первой странице устанавливается флажок Отображать номер на первой странице (Show Number on First Page).
Выражение, определяющее вывод номеров страниц, записывается в свойствах поля на вкладке Данные (Data) в строке Данные(Control Source). Выражение может иметь вид: ="Страница"&[Page]
или:
="Страница" & [Page] & "из" & [Pages],
что соответствует выбору Страница N (Page N) или Страница N из M (Page N of M).
Рис.6.8. Окно выбора параметров номеров страниц.
Завершение оформления отчета
Для окончательного оформления введем в раздел Заголовок отчета (Report Header), вставить раздел Верхний колонтитул (Page Header) ивыбрать нужный шрифт. Далее надо указать в свойствах отчета на вкладке Макет (Format) в строке Верхний колонтитул (Page Header):"Без заголовка" (Not with Rpt Hdr). Свойства отчета могут быть вызваны при установке курсора на пересечении линеек.
Создадим линии в соответствии с макетом, воспользовавшись кнопкой панели элементов Линия (Line).
Просмотр и печать отчета
Просмотр отчета
Переход из режима конструкторов в режим предварительного просмотра осуществим, нажав кнопку Предварительный просмотр (Report View) (см.рис.6.2). Для просмотра ранее созданного отчета нужно выбрать его в окне базы данных на вкладке Отчеты (Reports) и нажать кнопку Просмотр (Preview). Отчет при просмотре отобразится на экране таким, каким он будет напечатан.
В режиме предварительного просмотра имеется своя панель инструментов (рис.6.9).
Рис.6.9. Панель инструментов предварительного просмотра отчета
Для просмотра нужных страниц отчета можно использовать стандартное поле номера страницы В нижнем левом углу окна отчета.
Печать отчета
Кнопка Печать (Print) панели инструментов режима предварительного просмотра позволяет вывести отчет на печать.
Рис.6.10. Первая страница отчета Списки студентов с данными из таблиц СТУДЕНТ в режиме предварительного просмотра.
С помощью команды Файл|Параметры страниц (File|Page Setup…) можно выбрать принтер, задать формат бумаги, размер полей, расстояние между строками, ориентацию (книжная, альбомная) и т.д. Команда Файл|Печать (File|Print…) позволяет выбрать для печати отдельные страницы отчета или выделенные записи, распечатать заданное число копий, вывести отчет в файл, который должен распечатываться в другое время. На рис.6.10 приведена первая страница разработанного отчета Списки студентов в режиме предварительного просмотра.