Работа с объектом Report

Оценить
(0 голоса)

Присвоив объекту Report с помощью метода OpenReport объекта Application файл .RPT, вы можете, используя элементы своего пользовательского интерфейса (такие как элементы управления вызывающей формы), настроить поведение отчета. Для управления поведением отчета используйте объекты, коллекции, методы и свойства объекта Report. Вы также можете передать в коде регистрационную информацию для отчета (используя свойства соединения RDC).

Ниже показано несколько примеров:

' Подключение к базе данных отчета

Session("oRpt11).Database.Tables(1).ConnectionProperties("User ID")_

= "DBReader"

Session("oRpt").Database.Tables(1).ConnectionProperties("Password")_

= "DBPassword"

Данный код предоставляет регистрационную информацию для первой таблицы отчета (если таблиц несколько, регистрационная информация должна предоставляться для каждой таблицы в коллекции). При этом используется коллекция свойств ConnectionProperties компонента RDC. Эти коллекции свойств содержат различные количества и типы свойств, которые зависят от конкретного соединения с базой данных, используемого для той или иной таблицы.

Совет. Более подробную информацию об упомянутых коллекциях свойств, равно как об объектной модели RDC, можно найти в справочной системе Crystal Reports Developer. Для этого перейдите в каталог С:\Рг од г am Files\Business Objects\Crystal Reports 11\ Developer Files \Help \<язык> и откройте файл DevHelp. СНМ.

session("oRpt").DiscardSavedData

session("oRpt").RecordSelectionFormula = "{Customer.Country} * ’USA1"

В этом коде сначала удаляются все сохраненные записи данных, которые могут существовать внутри файла .RPT. Затем устанавливается значение для свойства RecordSelectionFormula объекта Report, ограничивающее отображаемых в отчете за

казчиков только заказчиками из США. В ASP вы могли бы воспользоваться здесь каким- нибудь элементом формы или другой переменной и создать формулу выборки записей.

Следующий показываемый в качестве примера код применяется для передачи значения в поле параметра отчета:

session("oRpt").ParameterFields(1).AddCurrentValue _

CInt(Request.Form("txtTaxRate")))

Опять-таки, данный код передает значение из объекта txtTaxRate формы методу AddCurrentValue. Этот метод применяется к члену коллекции ParameterFields объекта Report. Рекомендуется с помощью соответствующей функции (например, CInt) объявить тип переменной, передаваемой RDC.

Совет. Здесь представлено лишь несколько примеров того, как можно управлять объектом Report внутри кода. Другие методы объектной модели RDC и примеры свойств можно найти далее в этой главе, в разделе, посвященном Visual Basic, или в справочной системе Crystal Reports Developer’s Help.

После установки всех необходимых свойств рбъекта Report и перед непосредственной обработкой отчета необходимо выполнить метод ReadRecords объекта Report, чтобы заполнить отчет фактической информацией из базы данных. Если отчет основан на базе данных для ПК или на ODBC-соединении, которое Web-cepeep может использовать во время обработки отчета, данный шаг не является обязательным. Однако если вызывался метод SetDataSource объекта DataBase для смены источника данных отчета на набор записей ADO или другой источник данных, который находится в области видимости текущей процедуры VBScript, потребуется выполнить метод ReadRecords, чтобы отчет не выдал сбой. Если этого не сделать и воспользоваться объектом Report в другой процедуре VBScript (например, RDCrptserverll .ASP), когда набор записей больше не находится в области видимости, отчет не сможет считывать записи из набора. Ниже показан пример кода, в котором вызывается метод ReadRecords:

On Error Resume Next

session("oRpt").ReadRecords

If Err.Number <> 0 Then Response.Write _

"Произошла ошибка при попытке получить доступ к источнику данных на сервере"

 

Объект PageEngine
Выбор и настройка программ просмотра отчетов, доступных для RDC-приложений
Что такое Cleanup. ASP?
Разработка VB-приложений для Windows с помощью RDC
Архитектура объектной модели RDC

Добавить комментарий


Защитный код
Обновить