PERGUNTAS DOBRE CRYSTAL 8.5

FRACELO 08/05/2010 08:13:15
#341283
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
MSMJUDAS 08/05/2010 10:09:39
#341287
Resposta escolhida
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
FRACELO 08/05/2010 10:45:07
#341292
Preado MSMJUDAS,

Uso o Crystal 8.5, e no objeto report a propriedade .RecordSelectionFormula não está disponivel.
FRACELO 08/05/2010 14:28:35
#341300
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 ?
FRACELO 08/05/2010 14:31:55
#341301
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 ?
FERRAZ 10/05/2010 07:58:29
#341383
FRACELO, veja como fazer um filtro no crystal usando um controle DTPicker no vb.

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.
OLOCO 10/05/2010 09:25:03
#341388
Você já passa um recordset filtrado para o relatorio?
MSMJUDAS 10/05/2010 12:36:06
#341402
FRACELO,

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