5.1. Создание отчета Visual FoxPro

Основная сфера применения форм – обеспечение возможности просмотра отдельных или небольших групп связанных записей. Отчеты же представляют собой наилучшее средство отображения информации из базы данных в виде печатного документа. Разработка отчета очень похожа на разработку формы. Также используется  панель управления (Report Controls), окружение данных (Data Environment) и окно свойств (Field Properties). В этом разделе мы построим относительно несложный отчет, пройдя шаг за шагом всю цепочку его создания.

«Заставим» наш программный комплекс выдавать на печать всю информацию по зданиям, попавшим в запрос в результате работы формы Search. Отчет будет запускаться из формы Building после щелчка по кнопке Печать, которая расположена на первой странице формы (рис. 5.1).

 


Код события Click кнопки Печать:

 

*- Кнопка Печать

* Запуск отчета на выполнение

REPORT FORM Building NOEJECT NOCONSOLE PREVIEW

* Подтверждение вывода на печать, если пользователь

* забыл это сделать, используя панель Print Preview

lnMsgResult=MESSAGEBOX('Выводить на принтер',52,'Печать!')

IF lnMsgResult=6      && Кнопка Да

   REPORT FORM Building NOEJECT NOCONSOLE TO PRINTER PROMPT

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.

Таблица 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.

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