Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Отчеты к базам данных для пользователей: Crystal Reports 11.5
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

16.2 Интеграция отчетов Crystal Reports средствами Report Designer Component

Встраивание отчетов Crystal Reports 11.5 в приложения средствами Report Designer Component и Crystal ActiveX Report Viewer, добавление ссылок в проект, программное назначение значений параметрам в отчете, настройка внешнего вида отчета на форме

Часто возникают ситуации, когда воспользоваться самым простым способом интеграции отчетов в приложения — при помощи Designer — не получается. Проблемы могут быть следующими:

  • вы производите разработку приложения на на Visual Basic 6.0, а на других языках программирования (VBA, Delphi, Visual C++ и т.п.). Дизайнер же интегрируется только в Visual Basic 6.0 (и Visual Studio.NET);
  • вам нужна дополнительная функциональность, которую нельзя обеспечить только средствами дизайнера;
  • в некоторых ситуациях по неизвестным причинам диазйнер в среде разработки вообще не появляется.

В этой ситуации придется работать с отчетом Crystal Reports программным способом.

Первое, что необходимо сделать — добавить ссылки на необходимые программные компоненты. Их две:

  • библиотека Crystal Reports ActiveX Designer Run Time Library (файл craxdrt.dll) — эта библиотека непосредственно обеспечивает функциональность для работы с отчетами;
  • элемент управления Crystal ActiveX Report Viewer Library 11.5 (файл CRViewer.dll) — этот элемент управления, который необходимо разместить на форме, обеспечивает отображение отчета в приложении.

Затем можно приступать к работе с объектами.

Первый объект, который находится на вершине иерархии объектной модели Crystal Reports — объект Application. Обычно он нужен только для одной цели: открытия отчета из файла на диске. Предположим, что ссылка на craxdrt.dll у нас добавлена, а на форму помещен элемент управления Crystal Report Viewer с именем по умолчанию CrystalActiveXReportViewer1. Тогда применение объекта Application может выглядеть так:

Private Sub Form_Load()

Dim crapp As New CRAXDRT.Application

Dim CrReport As New CRAXDRT.Report

Set CrReport = crapp.OpenReport("C:\Reports\Lab3-1.rpt")

CrystalActiveXReportViewer1.ReportSource = CrReport

CrystalActiveXReportViewer1.ViewReport

End Sub

Конечно же, мы можем и сформировать объект отчета "с нуля" при помощи кода программы, но это — намного более трудоемкий способ.

Дальше в нашем распоряжении — две ветви. Первая ветвь идет через объект Report и к секциям, полям и другим элементам нашего отчета. Вся работа при этом происходит через стандартные коллекции. Например, чтобы открыть отчет, присвоить параметру "Country" значение "USA", можно использовать следующий код:

Dim crapp As New CRAXDRT.Application

Dim CrReport As CRAXDRT.Report

Set CrReport = crapp.OpenReport("C:\Reports\Lab3-1.rpt ")

Dim oPFD As CRAXDRT.ParameterFieldDefinition

For Each oPFD In CrReport.ParameterFields

If oPFD.Name = "{?Country}" Then Exit For

Next

oPFD.SetCurrentValue "USA"

Вторая ветвь — это объект Crystal Report Viewer, который можно использовать для настройки параметров отображения отчета. У него множество предопределенных свойств и методов. Полный вариант нашего кода может выглядеть, например, так:

Private Sub UserForm_Initialize()

CRActiveXReportViewer1.Visible = False

End Sub

Private Sub CommandButton1_Click()

Dim crapp As New CRAXDRT.Application

Dim CrReport As CRAXDRT.Report

Set CrReport = crapp.OpenReport("D:\Report1.rpt")

Dim oPFD As CRAXDRT.ParameterFieldDefinition

For Each oPFD In CrReport.ParameterFields

If oPFD.Name = "{?Country}" Then Exit For

Next

oPFD.SetCurrentValue "USA"

CRActiveXReportViewer1.ReportSource = CrReport

CRActiveXReportViewer1.Width = 400

CRActiveXReportViewer1.Height = 300

CRActiveXReportViewer1.ViewReport

CRActiveXReportViewer1.Visible = True

End Sub

Для того, чтобы для показа отчета на другом компьютере появились необходимые модули DLL, необходимо создать дистрибутив приложения с отчетом Crystal Reports и включить него модули из каталога C:\Program Files\Common Files\Merge Modules\ (только для нужной версии вашего компьютера - X86 для 32-разрядных систем и X64 для 64-разрядных). Если Crystal Reports уже установлены в системе, то все необходимые модули есть гарантированно.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru