Основная сфера применения форм – обеспечение возможности
просмотра отдельных или небольших групп связанных записей. Отчеты же
представляют собой наилучшее средство отображения информации из базы данных в
виде печатного документа. Разработка отчета очень похожа на разработку формы.
Также используется панель управления (Report Controls), окружение данных (Data Environment) и окно свойств (Field Properties). В этом разделе мы построим относительно
несложный отчет, пройдя шаг за шагом всю цепочку его создания.
«Заставим» наш программный комплекс выдавать на печать всю
информацию по зданиям, попавшим в запрос в результате работы формы Search. Отчет будет запускаться из формы Building после щелчка по кнопке Печать,
которая расположена на первой странице формы (рис. 5.1).
Код события Click кнопки Печать:
*- Кнопка Печать
* Запуск отчета на выполнение
* Подтверждение вывода на печать, если пользователь
* забыл это сделать, используя панель Print
Preview
lnMsgResult=MESSAGEBOX('Выводить на принтер',52,'Печать!')
IF lnMsgResult=6 && Кнопка Да
ENDIF
Для создания отчета Building в главном меню Visual FoxPro
щелкните пункт File и выберите команду New. В открывшемся окне щелкните радиокнопку Report и нажмите кнопку New file. На экране дисплея появится окно Report Designer. Это окно конструктора отчетов. В нем наш первый
отчет с именем Report1. Для работы с конструктором отчетов используются
панели инструментов Report Designer (конструктор
отчета) и Report Controls (элементы
управления отчета), а также пункты меню Report (отчет) главного меню Visual
FoxPro (рис. 5.2).
В начале работы окно конструктора отчетов содержит три
полосы: Page Header (верхний колонтитул), Detail (подробности) и Page Footer (нижний колонтитул). Полосы ограничены разделительными
строками. Всего в отчете может быть семь полос. Каждая полоса предназначена для
того, чтобы определить, когда и где будут напечатаны размещенные в ней объекты.
Для отображения дополнительных полос в отчете выберите в меню Report пункт Optional Bands (рис. 5.2). Назначения всех полос отчета Visual FoxPro описаны в таблице 5.1.
Назначение полос отчета Visual FoxPro
Название |
Назначение полосы |
Title (Титул) |
Информация, которая будет напечатана
перед основным отчетом. Размещается только на первой странице. |
Page Header (Верхний колонтитул) |
Данные этой полосы будут
напечатаны на каждой странице. Как правило, это название отчета, номер
страницы и дата создания отчета. |
Group Header (Верхняя группа) |
Верхние полосы
сгруппированных данных. Выводятся перед самими данными. |
Detail (Подробности) |
Данные полей таблицы. Будет
выведено столько данных, сколько строк имеет таблица. |
Group Footer (Нижняя группа) |
Нижние полосы сгруппированных
данных |
Page Footer (Нижний колонтитул) |
Итоговые данные по текущей
странице. Выводятся по каждой странице. |
Summary (Итог) |
Итоги по отчету. Выводятся
один раз на последней странице. |
Для выбора ширины отчета выберите в меню Report пункт Properties, а в появившемся окне Report Properties кнопку Page Setup. Там же можно установить ориентацию бумаги
(книжная или альбомная).
Следующий этап – определение окружения данных отчета. Добавим таблицу cBuilding в
окружение отчета. Сделайте щелчок правой кнопки мыши в любом месте окна Report Designer. Появится меню. Выберите в нем четвертый пункт Data Environment. Еще один щелчок правой кнопкой, но уже в появившемся
окне Data Environment активизирует
очередное меню. Выберите в нем первый пункт Add. Появится окно Open. Найдите в нем таблицу cBuilding. Она находится в папке C:\WINNT\TEMP.
Размещение текстовой, графической информации и полей таблиц
из окружения данных отчета выполняется точно также как и для форм.