Título da Dica: Imprimindo Relatório do Crystal Reports usando componente
Postada em 15/10/2002 por tarso A Partir da versão 6 do Seagate Crystal Reports foi Incluso um novo componente chamado VIEW CONTROL. Com a Inclusão deste novo componente você nao precisa mais utilizar o famoso CRYSTL32.OCX.
A Pergunta é: Como utilizar este controle com os relatorios *.RPT criados no CRYSTAL REPORTS?
Nao e muito complicado. Para nosso exemplos vamos utilizar a versão 8.0 do Crystal Reports
Click no Menu Project -> Components ( CTRL + T ) Escolha o Componente "CRYSTAL REPORTS VIEW CONTROL" Automaticamente ele e acrescentando a paleta e controles do Visual Basic.
Click no Menu Project -> References Escolha a seguinte Biblioteca "CRYSTAL REPORT 8 ACTIVEX DESIGNER RUN TIMER LIBRARY"
Crie um Modulo e 2 Formulários
Insira o Controle REPORT VIEW que estar na paleta de controles do Visual Basic e Coloque-o sobre o Form2 do tamanho que você desejar.
Vá nas propriedades do seu Projeto na aba General em Statup Object coloque a propriedade para Sub Main
No Modulo coloque o Seguinte:
Dim Aplicacao As New CRAXDRT.Application Dim Report As New CRAXDRT.Report
'****Esta a a Função de impressão para o REPORT VIEW CONTROL da Seagate Public Sub Imprimir(Relatorio as String) Set Report = Aplicacao.OpenReport(Relatorio) '***Setamos a Variavel do relatorio para pegar o Arquivo no Disco With Form2 .CRViewer1.ReportSource = Report '*** Estamoa assumindo que "CRViewer1" e o Nome do Controle no Form1 .CRViewer1.ViewReport '*** O Relatorio será Visualizado entes de ser Impresso .Show End With End Sub
Sub Main() Form1.Show End Sub
'**************Fim do Modulo
Coloque 1 Botao no Form1 Coloque o seguinte codigo no Botao que voce acabou de criar
Private Sub Command1_Click() Imprimir App.Path & "\RELATORIO.RPT" End Sub
Pronto agora você pode utilizar o Crystal View Control para Imprimir seu arquivos RPT.