PERGUNTAS DOBRE CRYSTAL 8.5
Prezados companheiros, tenho 2 perguntas sobre o CR8.5
1) Depois de fazer o report, ao chama-lo no VB posso passar uma consulta(sql) para o report ? ou posso passar paramentros ? tipo relatorio com intervalo de datas ? e como fazer, gostaria de passar a consulta.
2) Posso definir o caminho e nome do banco ao chamar o report ? como ?
Obrigado
1) Depois de fazer o report, ao chama-lo no VB posso passar uma consulta(sql) para o report ? ou posso passar paramentros ? tipo relatorio com intervalo de datas ? e como fazer, gostaria de passar a consulta.
2) Posso definir o caminho e nome do banco ao chamar o report ? como ?
Obrigado
Eu utilizo uma função para gerar o relatório:
Public Sub ImprimeRelatorio(NomeRelatorio, Filtro, Opcao)
On Error GoTo TrataErro
Screen.MousePointer = vbHourglass
crxapplication.LogOnServer [Ô]pdsodbc.dll[Ô], vBancoODBC, [Ô]SEU_BANCO[Ô], [Ô]USUARIO_DO_BANCO[Ô], [Ô]SENHA_DO_BANCO[Ô]
Set report = crxapplication.OpenReport(App.Path & [Ô]\[Ô] & NomeRelatorio)
report.RecordSelectionFormula = Filtro
If Opcao = 1 Then
Frm_Visualizador.Show (1) [ô] VISUALIZA O RPT
Else
report.PrintOut False, 1, True [ô] IMPRIME DIRETO NA IMPRESSORA
End If
Screen.MousePointer = vbDefault
Exit Sub
TrataErro:
MsgBox [Ô]Não foi possÃvel gerar o documento para visualização![Ô], vbCritical, [Ô]Aviso[Ô]
MsgBox [Ô]Erro Nº: [Ô] & Err.Number & [Ô] - Descrição: [Ô] & Err.Description & [Ô] - Source: [Ô] & Err.Source & [Ô][Ô], vbCritical, [Ô]Aviso[Ô]
Screen.MousePointer = vbDefault
Exit Sub
End Sub
Chama assim:
ImprimeRelatorio [Ô]REL_CLIENTES.rpt[Ô], [Ô]{CLIENTES.CLI_CODIGO} = 1[Ô], 1
Public Sub ImprimeRelatorio(NomeRelatorio, Filtro, Opcao)
On Error GoTo TrataErro
Screen.MousePointer = vbHourglass
crxapplication.LogOnServer [Ô]pdsodbc.dll[Ô], vBancoODBC, [Ô]SEU_BANCO[Ô], [Ô]USUARIO_DO_BANCO[Ô], [Ô]SENHA_DO_BANCO[Ô]
Set report = crxapplication.OpenReport(App.Path & [Ô]\[Ô] & NomeRelatorio)
report.RecordSelectionFormula = Filtro
If Opcao = 1 Then
Frm_Visualizador.Show (1) [ô] VISUALIZA O RPT
Else
report.PrintOut False, 1, True [ô] IMPRIME DIRETO NA IMPRESSORA
End If
Screen.MousePointer = vbDefault
Exit Sub
TrataErro:
MsgBox [Ô]Não foi possÃvel gerar o documento para visualização![Ô], vbCritical, [Ô]Aviso[Ô]
MsgBox [Ô]Erro Nº: [Ô] & Err.Number & [Ô] - Descrição: [Ô] & Err.Description & [Ô] - Source: [Ô] & Err.Source & [Ô][Ô], vbCritical, [Ô]Aviso[Ô]
Screen.MousePointer = vbDefault
Exit Sub
End Sub
Chama assim:
ImprimeRelatorio [Ô]REL_CLIENTES.rpt[Ô], [Ô]{CLIENTES.CLI_CODIGO} = 1[Ô], 1
Preado MSMJUDAS,
Uso o Crystal 8.5, e no objeto report a propriedade .RecordSelectionFormula não está disponivel.
Uso o Crystal 8.5, e no objeto report a propriedade .RecordSelectionFormula não está disponivel.
Estou tentando passar o seguinte paramentro para meu report
formula = [Ô]{tbPagar.Vencimento} >= 05/01/2010 00:00:00[ô] And {tbPagar.Vencimento} <= 08/01/2010 00:00:00[Ô]
cr2.RecordSelectionFormula = formula
porem me retorna o seguinte erro:
The ramaining text does not appear to be part of the formula
Alguem pode me ajudar ?
formula = [Ô]{tbPagar.Vencimento} >= 05/01/2010 00:00:00[ô] And {tbPagar.Vencimento} <= 08/01/2010 00:00:00[Ô]
cr2.RecordSelectionFormula = formula
porem me retorna o seguinte erro:
The ramaining text does not appear to be part of the formula
Alguem pode me ajudar ?
Estou tentando passar o seguinte paramentro para meu report
formula = [Ô]{tbPagar.Vencimento} >= 05/01/2010 00:00:00[ô] And {tbPagar.Vencimento} <= 08/01/2010 00:00:00[Ô]
cr2.RecordSelectionFormula = formula
porem me retorna o seguinte erro:
The ramaining text does not appear to be part of the formula
Alguem pode me ajudar ?
formula = [Ô]{tbPagar.Vencimento} >= 05/01/2010 00:00:00[ô] And {tbPagar.Vencimento} <= 08/01/2010 00:00:00[Ô]
cr2.RecordSelectionFormula = formula
porem me retorna o seguinte erro:
The ramaining text does not appear to be part of the formula
Alguem pode me ajudar ?
FRACELO, veja como fazer um filtro no crystal usando um controle DTPicker no vb.
Parameter Field no crystal:
Formula no crystal no crystal:
Chamando no vb com um butom:
Assim vc tera como filtrar os dados que desejar informando as datas dos registros, nao esquecer de colocar dois controles DTPicker no vb, para vc informar as datas.
Parameter Field no crystal:
Insert_Parameter Field_New_Name:Data1_Value Type:Escolha Date_Ok
Insert_Parameter Field_New_Name:Data2_Value Type:Escolha Date_Ok
Formula no crystal no crystal:
CDate({tbclt.DtClt}) >= {?data1} And CDate({tbclt.DtClt})<= {?data2}
Chamando no vb com um butom:
Private Sub lvBGrRet_Click()
With CrystalReport1
.ReportFileName = [Ô]C:\SyCSQL\Reports\ReportSysCSQLCltPdo.rpt[Ô]
.Destination = crptToWindow
.ParameterFields(0) = [Ô]data1;Date([Ô] & Format(DTPicker1.Value, [Ô]YYYY,MM,DD[Ô]) & [Ô]);True[Ô]
.ParameterFields(1) = [Ô]data2;Date([Ô] & Format(DTPicker2.Value, [Ô]YYYY,MM,DD[Ô]) & [Ô]);True[Ô]
.WindowState = crptMaximized
.Action = 1
End With
End Sub
Assim vc tera como filtrar os dados que desejar informando as datas dos registros, nao esquecer de colocar dois controles DTPicker no vb, para vc informar as datas.
Você já passa um recordset filtrado para o relatorio?
FRACELO,
Eu também uso o CR 8.5 e a função que eu postei funciona perfeitamente com essa versão
Eu também uso o CR 8.5 e a função que eu postei funciona perfeitamente com essa versão
Tópico encerrado , respostas não são mais permitidas