Элемент управления Crystal Report Control (файл CRYSTL32.OCX) автоматически устанавливается в системе при инсталляции Crystal Reports. Это единственное средство интеграции отчета с приложением, если установлен Crystal Reports 4.6.
Подключается элемент Crystal Report Control к среде Visual Basic как обычно, через меню Project ->Components:
После этого на панели инструментов появляется соответствующий значок:
Теперь методом перетаскивания элемент можно установить в приложение. Crystal Report Control является элементом, невидимым в runtime, и его можно располагать в любом месте. Если у вас сложное приложение, и отображать отчеты необходимо из нескольких форм, то на все приложение достаточно одного элемента Crystal Report Control, помещенного, например, в главной форме. При этом только при каждом его вызове надо явно указывать имя формы. Поместим в форме кнопку, нажатие на которую вызовет отображение отчета:
Пишем код обработчика нажатия клавиши. В минимальном виде:
Private Sub Command3_Click() MousePointer = 11 CrystalReport1.ReportFileName = App.Path + "\rptmestn.rpt" 'указываем имя файла отчета CrystalReport1.RetrieveDataFiles 'обновляем данные в отчете CrystalReport1.Destination = crptToWindow 'указываем, куда выводить отчет (В окно вьювера. Варианты: на принтер, e-mail) CrystalReport1.WindowTitle = "Отчет о продажах" 'устанавливаем заголовок окна вьювера CrystalReport1.Action = 1 'отображаем отчет MousePointer = 0 End Sub
Здесь CrystalReport1 – имя элемента Crystal Report Control, помещенного на форме. Теперь после нажатия на кнопку будет выведено окно с отчетом:
Как видно из рисунка, в окне вьювера присутствуют средства навигации и масштабирования. Прямо из этого окна можно распечатать отчет, или отправить его по электронной почте. В общем, мы имеем вполне функциональное средство формирования отчетов (если пользователя не раздражает наличие некоторого количества английских слов)