GERAR RELATORIO COM CRAXDRT OU CRVIEWER
porem,
Quando peço para gerar um relatorio com Crystal Report e DEPOIS eu peço para gerar PDF ele dá um erro no windows (APPCRASH) e fecha tudo [Não é erro do VB. é do windows. trava tudo e fecha o vb]
Já tentei em vários computadores diferente e dá a mesma coisa.
Alguém já passou por isso?
Para gerar o PDF eu faço assim:
Dim crxAPP As New CRAXDRT.Application
Dim crxRPT As CRAXDRT.Report
filenamepdf=app.path & [Ô]
omearquivo.pdf[Ô]
ExportReporttoPDF crxRPT, filenamepdf
Private Sub ExportReporttoPDF(ReportObject As CRAXDRT.Report, ByVal FileNamepdf As String)
Set ObjExportOptions = Nothing
With ReportObject
.EnableParameterPrompting = False
.MorePrintEngineErrorMessages = True
End With
Set ObjExportOptions = ReportObject.ExportOptions
With ObjExportOptions
.DestinationType = crEDTDiskFile
.DiskFileName = FileNamepdf
.FormatType = crEFTPortableDocFormat
.PDFExportAllPages = True
End With
ReportObject.Export False
End Sub
Para gerar em Crystal eu faço assim:
crpListagem.DataFiles(0) = app.path & [Ô]\ARQUIVOS.MDB[Ô]
crpListagem.ReportFileName = LocArq & [Ô]elatorios\fornecedores.rpt[Ô]
crpListagem.SelectionFormula = [Ô]{fornecedor.codigo}>= [Ô] & txtCodDe & [Ô] and {fornecedor.codigo}<= [Ô] & txtCodAte
crpListagem.Destination = 0
crpListagem.Action = 1
Citação::
sim, mas ai ja é onde vc esta gerando pelo crystal e não exportando, eu tbm uso assim no meu sistema, a dúvida, é exatamente onde vc consegue exportar para o pdf, eu procuro ha tempos, e nunca consegui... para vc exportar para o pdf, precisa passar a origem, certo ?, essa exportação, é apenas através do crviewer ?
eu tinha postado errado, mas estou substituindo.
é na seguinte linha:
Set crxRPT = crxAPP.OpenReport(LocArq & [Ô]Relatorios\danfe.rpt[Ô])
crxRPT.FormulaFields.GetItemByName([Ô]emitente_nome[Ô]).Text = [Ô][ô][Ô] & EmpREsaS!descricao & [Ô][ô][Ô]
crxRPT.FormulaFields.GetItemByName([Ô]emitente_endereco[Ô]).Text = [Ô][ô][Ô] & EmpREsaS!tiporua & [Ô] [Ô] & EmpREsaS!Endereco & [Ô], [Ô] & EmpREsaS!Numero & [Ô] [Ô] & EmpREsaS!complemento & [Ô][ô][Ô]
crxRPT.FormulaFields.GetItemByName([Ô]emitente_bairro_cep[Ô]).Text = [Ô][ô][Ô] & EmpREsaS!Bairro & [Ô] Cep: [Ô] & EmpREsaS!CEP & [Ô][ô][Ô]
Dim crxAPP As New CRAXDRT.Application
Dim crxRPT As CRAXDRT.Report
FileNamepdf = [Ô]c: este.pdf[Ô]
Set crxRPT = crxAPP.OpenReport(App.Path & dbrpt & [Ô]listacli.rpt[Ô])
ExportReporttoPDF crxRPT, FileNamepdf
Private Sub ExportReporttoPDF(ReportObject As CRAXDRT.Report, ByVal FileNamepdf As String)
Set ObjExportOptions = Nothing
With ReportObject
.EnableParameterPrompting = False
.MorePrintEngineErrorMessages = True
End With
Set ObjExportOptions = ReportObject.ExportOptions
With ObjExportOptions
.DestinationType = crEDTDiskFile
.DiskFileName = FileNamepdf
.FormatType = crEFTPortableDocFormat
.PDFExportAllPages = True
End With
ReportObject.Export False
End Sub
Dim crxApplication As CRAXDRT.Application
Dim oReport As CRAXDRT.Report
Dim crxExportOptions As CRAXDRT.ExportOptions
Set crxApplication = New CRAXDRT.Application
Set oReport = crxApplication.OpenReport(App.Path & [Ô]ptsql\listacli.rpt[Ô])
With oReport
With .ExportOptions
.UseReportDateFormat = True
.UseReportNumberFormat = True
.FormatType = crEFTPortableDocFormat
.DestinationType = crEDTDiskFile
.DiskFileName = [Ô]c: este.pdf[Ô]
End With
.Export False
End With
Citação::
sua função é bem parecida com uma que eu ja tinha aqui, o sistema não acusa nehum erro, mas não gera o pdf... copiei seu bloco e só passei meu rpt, veja, o que será que falta ? ( eu uso a ocx crystl32.ocx)
Dim crxAPP As New CRAXDRT.Application
Dim crxRPT As CRAXDRT.Report
FileNamepdf = [Ô]c: este.pdf[Ô]
Set crxRPT = crxAPP.OpenReport(App.Path & dbrpt & [Ô]listacli.rpt[Ô])
ExportReporttoPDF crxRPT, FileNamepdf
Private Sub ExportReporttoPDF(ReportObject As CRAXDRT.Report, ByVal FileNamepdf As String)
Set ObjExportOptions = Nothing
With ReportObject
.EnableParameterPrompting = False
.MorePrintEngineErrorMessages = True
End With
Set ObjExportOptions = ReportObject.ExportOptions
With ObjExportOptions
.DestinationType = crEDTDiskFile
.DiskFileName = FileNamepdf
.FormatType = crEFTPortableDocFormat
.PDFExportAllPages = True
End With
ReportObject.Export False
End Sub
Muito estranho o seu nao funcionar. Conferi linha a linha do código que voce me enviou e está identico ao meu. O meu funciona normalmente.
utilizo crystal 8.5.0.217
Referencio:
Crystal reports 8.5 activex designer design
Crystal reports 8.5 activex designer run
Crystal reports 8.5 library
Crystal report viewer control
Para a listagem com a ocx, eu passo assim:
cr1.Connect = [Ô]DSN=[Ô] & dbserver & [Ô];UID=[Ô] & dbuser & [Ô];PWD=[Ô] & dbpass
onde cr1, é o componente ocx.