samesdavis Posted May 13, 2013 at 10:11 AM Report #507076 Posted May 13, 2013 at 10:11 AM 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
Nelson Sousa Posted May 13, 2013 at 03:05 PM Report #507158 Posted May 13, 2013 at 03:05 PM 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
samesdavis Posted May 14, 2013 at 04:32 AM Author Report #507218 Posted May 14, 2013 at 04:32 AM 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)
Nelson Sousa Posted May 14, 2013 at 05:37 PM Report #507345 Posted May 14, 2013 at 05:37 PM (edited) 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() Edited May 14, 2013 at 05:39 PM by Nelson Sousa Um Abraço, Nelson Sousa
samesdavis Posted May 14, 2013 at 11:14 PM Author Report #507397 Posted May 14, 2013 at 11:14 PM Muito boa a dica!!! entyão nem preciso do LOAD Problema resolvido! 👍
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now