Ir para o conteúdo
samesdavis

[Resolvido] Crystal Reports – Relatórios Embebidos

Mensagens Recomendadas

samesdavis    0
samesdavis

Como faço para ter esse mesmo efeito de inserir os arquivos de relatório dentro do EXE ?

No Report Viewer uso esse método:

http://www.jorgepaulino.com/2009/06/vbnet-microsoft-reports-relatorios.html

Mas no Crystal eu não sei como usar.

Alguém pode ajudar?

Eu carrego os arquivos de relatório assim:

Imports CrystalDecisions.CrystalReports.Engine

Imports CrystalDecisions.Shared

Dim Report As New Frm_Report

Dim cSQL As String = Nothing

Dim dsPrint As New DataSet

Dim crReportDocument As New ReportDocument

With Report

If Me.cboNomeAutor.Text = Nothing Then

cSQL = "SELECT * FROM Qry_RptJur_NomeAutor"

Else

cSQL = "SELECT * FROM Qry_RptJur_NomeAutor WHERE ID_SOC = " & Me.cboNomeAutor.SelectedValue

End If

dsPrint = Banco.RetornarDataSet(cSQL)

Try

Dim strReportPath As String = Application.StartupPath & "\JurNomeAutor.rpt"

With crReportDocument

.Load(strReportPath)

.SummaryInfo.ReportAuthor = "EMPRESA"

.SummaryInfo.ReportTitle = "Nome do autor"

.SetDataSource(dsPrint.Tables(0))

End With

Dim ofrmPrintPreview As New Frm_Report

With ofrmPrintPreview

.crPrintPreview.ReportSource = crReportDocument

.Show()

End With

Catch ex As Exception

MsgBox("Ocorreu o seguinte erro: " & Chr(10) & ex.Message, MsgBoxStyle.Critical)

Exit Sub

End Try

End With

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nelson Sousa    0
Nelson Sousa

Amigão,

Com relatórios "Embedded REsources" você os declara assim:

    Dim cr_Relatorio As New ReportDocument
    cr_Relatorio = New Nome_Seu_Relatorio


Um Abraço,

Nelson Sousa

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
samesdavis    0
samesdavis

Ficou incompleto

O Nome_seu_relatorio deve ser colcocado entre " " ?

e depois desses comandos? o que coloco dentro do load ?

digamos que o nome do meu relatório é: DespesasCli.rpt

então devo colocoar assim ?

crReportDocument = New DespesasCli

Mas no load vai apresentar erro que o conteúdo não é do tipo String:

crReportdocument.Load(crReportDocument)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nelson Sousa    0
Nelson Sousa

Olha só,

O Relatório vai ser tratado como uma classe do seu projeto. Não precisa aspas, não terá mais LOAD. O código completo ficaria mais ou menos assim:

	 Dim cr_Relatorio As New ReportDocument
 '1 passo: carregar o relatório
	 cr_Relatorio = New Nome_Seu_Relatorio
	 cr_Relatorio.SummaryInfo.ReportAuthor = Application.ProductName & " - " & Application.ProductVersion
	 cr_Relatorio.SummaryInfo.ReportTitle = "Escreva aqui o título do seu relatório"
	 'crReportdocument.SummaryInfo.ReportComments = "Escreva aqui algum comentário para seu relatório"

	 'se quiser configurar para impressão em Landscape
	 'crReportdocument.PrintOptions.PaperOrientation = PaperOrientation.Landscape
	 '2 passo: passar os dados para o relatório (datatable)
	 'carregando os dados
	 ds = Busca.RetornarDataSet(strSql)
	 cr_Relatorio.SetDataSource(ds.Tables(0))
	 '
	 'visualizando o relatório
	 '
	 'criar uma instância do form printpreview
	 Dim ofrmPrintPreview As New Nome_Do_Seu_Frm_Report
	 'definindo o ReportSource do printpreview
	 ' ofrmPrintPreview.crPrintPreview.DisplayGroupTree = False
	 ofrmPrintPreview.crPrintPreview.ReportSource = cr_Relatorio
	 'exibir o form
	 ofrmPrintPreview.Show()

Editado por Nelson Sousa

Um Abraço,

Nelson Sousa

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.