назад | содержание | вперед

Глава 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

Счетчик строк. Подсчитывает количество строк



Свойства объекта DataReport

Как и всякий объект в 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

Для управления объектом DataReport используются методы, представленные в табл. 18.6.

Таблица 18.6. Методы объекта DataReport

Метод

Описание

ExportReport

Обеспечивает вывод данных отчета в файл

PrintReport

Выводит данные отчета на печать

Refresh

Обновляет данные отчета

Show

Выводит данные отчета в окно предварительного просмотра перед печатью или сохранением в файле


 

Метод ExportReport

Метод 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

Метод PrintReport имеет следующий синтаксис:

DataReport.PrintReport ShowDialog, Range, PageFrom, PageTo

где:

Методы Showw Refresh

Метод show имеет синтаксис, представленный ниже:

DataReport.Show

При просмотре отчета его можно пролистать и, при необходимости, распечатать из окна просмотра.

Синтаксис метода Refresh тоже очень прост:

DataReport.Refresh

События объекта DataReport

Объект 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