назад | содержание
| вперед
Глава 18. Отчеты.
Для проектирования и управления отчетами в Visual Basic 6 используется объектно-ориентированный подход: в распоряжении пользователя имеются специальный объект DataReport и инструментальное средство Data Report Designer (Конструктор отчетов).
Прежде чем приступить к созданию отчета, следует проверить подключение к проекту приложения конструкторов Data Environment (Окружение данных) и Data Report (Отчет данных). Для этого выберите команду Components (Компоненты) меню Project (Проект), в открывшемся диалоговом окне Components перейдите на вкладку Designers (Конструкторы) и проверьте, установлены ли флажки Data Environment и Data Report. Обычно они установлены по умолчанию.
Конструктор отчетов DataReport
Для проектирования отчетов в Visual Basic 6 предназначен объект DataReport, показанный на рис. 18.1. Этот объект добавляется к проекту с помощью команды Add Data Report (Добавить отчет) меню Project (Проект).
С точки зрения визуального проектирования объект DataReport состоит из нескольких разделов, отображающих функциональные части отчета. Их назначение описано в табл. 18.1.
Таблица 18.1. Разделы отчета
Раздел |
Назначение |
Report Header (Заголовок отчета) |
Отображает заголовок отчета, который выводится однократно перед отчетом |
Page Header (Заголовок страницы) |
Отображает заголовок страницы, который выводится каждый раз на новой странице отчета |
Detail (Детали) |
Отображает содержание отчета, каждая строка которого соответствует одной записи в базе данных |
Page Footer (Нижний колонтитул страницы) |
Отображает текст, выводимый в нижнем колонтитуле страницы каждый раз для новой страницы |
Report Footer (Нижний колонтитул отчета) |
Отображает текст нижнего колонтитула отчета, выводимый один раз в конце отчета |
Перечисленные в таблице разделы показаны на рис. 18.1. Кроме того, если в отчете осуществляется группировка данных, в него можно добавить еще два раздела:
Рис. 18.1. Объект DataReport для конструирования отчета
Элементы управления объекта DataReport
В состав объекта DataReport входит набор элементов управления, которые можно использовать при проектировании отчета.
При добавлении объекта к проекту приложения эти элементы управления становятся доступными на панели инструментов (рис. 18.2), когда объект DataReport находится в фокусе.
Рис. 18.2. Панель инструментов для объекта DataReport
Назначение элементов управления объекта DataReport приведено в табл. 18.2.
Таблица 18.2. Элементы управления объекта DataReport
Кнопка |
Название |
Описание |
RptLabel | Текстовая строка. Аналог элемента управления Label для форм | |
|
RptTextBox |
Текстовое поле. Отображает поле базы данных |
|
RptImage |
Поле графического изображения |
|
RptLine |
Линия. Предоставляет возможность рисовать линии в отчете |
|
RptShape |
Фигура. Позволяет рисовать рамки, круги и другие геометрические фигуры в отчете |
|
RptFunction |
Дает возможность выполнять вычисления над столбцами отчета. Возможные функции этого элемента управления перечислены в табл. 18.3 |
Таблица 18.3. Функции элемента управления RptFunction
Функция |
Описание |
Sum |
Сумма. Выполняет суммирование столбца для всех строк |
Min |
Минимум. Находит минимальное значение столбца |
Мах |
Максимум. Находит максимальное значение столбца |
Average |
Среднее. Вычисляет среднее арифметическое для столбца среди всех строк |
Standard Deviation |
Стандартное отклонение. Находит стандартное отклонение для столбца среди всех строк |
Standard Error |
Стандартная ошибка |
Value Count |
Счетчик значений (количество строк, в которых содержится значение). Подсчитывает количество строк, содержащих значение |
Row Count |
Счетчик строк. Подсчитывает количество строк |
Как и всякий объект в Visual Basic 6, объект DataReport характеризуется свойствами, основные из которых приведены в табл. 18.4.
Таблица 18.4. Свойства объекта DataReport
Свойство |
Назначение |
BottomMargin и TopMargin |
Размер верхнего и нижнего полей отчета |
DataMember |
Задает объект Command, используемый для доступа к данным |
DataSource |
Источник данных |
ExportFormats |
Набор форматов для экспорта содержимого отчета в файл (табл. 18.5) |
Font |
Шрифт печати отчета |
GridX И GridY |
Размер сетки по горизонтали и вертикали |
LeftMargin и RightMargin |
Размер левого и правого полей отчета |
ReportWidth |
Ширина отчета |
Sections |
Раздел отчета |
Title |
Текст заголовка отчета |
Для записи данных в файл необходимо с помощью свойства ExportFormats указать один из четырех форматов экспорта, перечисленных в табл. 18.5.
Таблица 18.5. Форматы экспорта данных отчета
Член коллекции |
Расширение файла |
Описание |
ExportFormats (1) |
htm, html |
Формат HTML |
ExportFormats (2) |
htm, html |
Формат HTML в универсальной кодировке |
ExportFormats (3) |
txt |
Текстовый формат |
ExportFormats (4) |
txt |
Текстовый формат в универсальной кодировке |
Для управления объектом DataReport используются методы, представленные в табл. 18.6.
Таблица 18.6. Методы объекта DataReport
Метод |
Описание |
ExportReport |
Обеспечивает вывод данных отчета в файл |
PrintReport |
Выводит данные отчета на печать |
Refresh |
Обновляет данные отчета |
Show |
Выводит данные отчета в окно предварительного просмотра перед печатью или сохранением в файле |
Метод ExportReport имеет следующий синтаксис:
DataReport.ExportReport ExpFormat, FileName, Owerwrite, ShowDialog, Range, PageFrom, PageTo
где:
Формат для вывода файла выбирается из коллекции ExportFormats, значения которой указаны в табл. 18.5. Для назначения формата можно использовать служебные константы и ключи (табл. 18.7).
Таблица 18.7. Константы и ключи для форматов экспорта данных отчета
Член коллекции |
Ключ |
Константа |
ExportFormats (1) |
keydefHTML |
rptKeyHTML |
ExportFormats (2) |
keydefUnicodeHTMLUTF8 |
rptKeyUnicodeHTMLUTF8 |
ExportFormats (3) |
keydefText |
rptKeyText |
ExportFormats (4) |
keydefUnicodeText |
rptKeyUnicodeText |
Замечание
Все параметры метода ExportReport являются необязательными. При использовании этого метода необходимо помнить, что он не поддерживает экспорт изображений и графических элементов отчета.
Метод PrintReport имеет следующий синтаксис:
DataReport.PrintReport ShowDialog, Range, PageFrom, PageTo
где:
Замечание
Параметры метода PrintReport являются необязательными.
Метод show имеет синтаксис, представленный ниже:
DataReport.Show
При просмотре отчета его можно пролистать и, при необходимости, распечатать из окна просмотра.
Синтаксис метода Refresh тоже очень прост:
DataReport.Refresh
Объект DataReport взаимодействует с другими объектами с помощью следующих событии, перечисленных в табл. 18.8.
Таблица 18.8. События объекта DataReport отчета
Событие |
Описание |
Error |
Возникает при ошибках вывода данных отчета |
ProcessingTimeout |
Предоставляет пользователю возможность приостановки асинхронных операций (просмотр, печать, вывод в файл) отчета |
QueryClose |
Возникает перед закрытием отчета. Предшествует событию Terminate |
Activate |
Возникает при появлении отчета в активном окне просмотра отчета |
Deactivate |
Возникает, когда отчет перестает находиться в активном окне |
Resize |
Возникает, когда окно отчета изменяет размеры |
Initialize |
Возникает при создании объекта |
Terminate |
Возникает при уничтожении объекта и удалении его из памяти |
Теперь, после рассмотрения основных характеристик объекта DataReport, перейдем к практическому проектированию отчетов. Сначала создадим приложение для работы с отчетами:
1. Откройте новый проект типа Standard EXE.
2. В меню Project (Проект) выберите команду Projecti Properties (Свойства проекта) и в поле Project Name (Наименование проекта) открывшегося диалогового окна введите наименование MyReport.
3. Форме присвойте имя frmMyReportForm и, используя свойство caption, задайте заголовок формы Управление отчетами.
4. Для проверки работы отчета разместите в форме кнопку управления типа CommandButton и назовите ее cbStartReport. Полученное приложение показано на рис. 18.3.
5. Сохраните проект и форму.
Рис. 18.3. Приложение для проверки работы отчетов
Любой отчет создается для вывода конкретной информации. При проектировании отчета необходимо создать и сохранить окружение данных. Для этого выполните следующие действия:
1. В меню Project (Проект) выберите команду More ActiveX Designers (Другие конструкторы ActiveX), а затем значение Data Environment (Окружение данных). Открывается окно DataEnvironmentI, содержащее соединение Connectioni.
2. С помощью команды Properties Window (Окно свойств) меню View (Вид) откройте окно свойств и измените DataEnvironmentI на DataEnvironmentMyReport, а также наименование соединения на ConnectionMyReport (рис. 18.4).
Рис. 18.4. Окно создания окружения данных
3. Установите курсор на соединение ConnectionMyReport, нажмите правую кнопку мыши и выберите команду Properties (Свойства) контекстного меню. Открывается диалоговое окно Data Link Properties (Свойства связи сданными) (рис. 18.5).
4. На вкладке Provider (Поставщик услуг) выберите поставщика услуг.
Рис. 18.5. Окно Data Link Properties для выбора поставщика услуг
Рис. 18.6. Вкладка Connection
5. Перейдите на вкладку Connection (Подключение) и укажите имя базы данных, для которой будет создаваться отчет (рис. 18.6).
6. Чтобы проверить правильность соединения, нажмите кнопку Test Connection (Проверить подключение). Диалоговое окно с сообщением о проверке соединения показано на рис. 18.7.
Рис. 18.7. Диалоговое окно с сообщением о проверке соединения
7. Для подтверждения выполненных действий закройте окно Data Link Properties, нажав кнопку ОК.
8. Выполнив все действия по созданию среды окружения данных, необходимо проверить наличие таблиц и данных в выбранной для проектирования отчета базе данных. Для этого откройте окно Data View (Просмотр данных) доступа к базе данных (рис. 18.8), выбрав команду Data View Window (Окно просмотра данных) меню View (Вид) или нажав кнопку Data View Window на панели инструментов.
Рис. 18.8. Окно доступа к базе данных
назад | содержание | вперед
Hosting uCoz