FILTRAR REGISTRO DO CRYSTAL REPORT 8.5 USANDO O VB

CSAPI 10/03/2010 08:27:22
#336507
Olá Amigos, estou com um problema que não consigo resolver e conto com a ajuda dos amigos na busca de uma solução. Criei um aplicativo em VB6 que funciona perfeitamente agora estou precisando incluir alguns relatórios em Crystal Report 8.5, como não entendo muito bem o uso deste gerador de relatório gostaria de algumas explicações.
Para incluir um relatório faço o seguinte: entro na opção: Project - Add Crystal Report 8.5 - Crystal Report Gallery, ai crio todo o meu relatório, ao concluir ele me uma tela com o titulo: Crystal Report Expert eu respondo yes, yes clico em ok e pronto, ele cria para mim na parte de Forms um formulário com o tirulo: Form1(Form) e na parte de Designers um relatório com o titulo: Crystalreport1(Crystalreport) que é o relatório que acabei de criar. Ai esta o problema quando executo ele me mostra todos os registro do meu banco de dados e eu não sei como filtralos, para filtrar os registros que eu quero qual seria o procedimento? Onde eu poderia colocar a função: CrystalReport1.SelectionFormula para que ele filtrasse os dados? ou seja como eu faço para filtrar os dados dejesados? O banco de dados que eu uso é o MYSQL 5.1.

Agradeço aos que puderem me ajudar.
ERIVELTONVGA 14/03/2010 22:14:06
#336952
csapi boa noite.
eu conheco muito pouco de Crystal, mas o que sei acho que da pra lhe exemplificar.

primeiro crie o seu relatorio direto do Programa Crystal Reports com as informacoes que voce deseja ter no relatorio. como segue o explicativo do MACORATTI

http://www.macoratti.net/crystal.htm

coloque o simbolo do crystal reports que tem na barra de ferramentas do VB.alterei o nome dele para [Ô]CR1[Ô] para resumir.

e em uma consulta por ex: empresa fiz assim, em um buttonCommand funcao click

Private Sub Command8_Click()

Cr1.ReportFileName = [Ô]c:\arquivos de programas\arquivo morto
omedorelatorio.rpt[Ô]
Cr1.Destination = crptToWindow
Cr1.WindowState = crptMaximized
If txtempresa.Text <> [Ô]RENATO[Ô] Then
Cr1.SelectionFormula = [Ô]{nomedatabela.campoescolhido} =[ô][Ô] & txtempresa.Text & [Ô][ô][Ô] [ô]campo escolhido é o campo de sua consulta para filtrar o relatorio
End If
[ô]Cr1.RetrieveDataFiles
Cr1.WindowTitle = [Ô]relatorio por empresa[Ô]
Cr1.Action = 1

End Sub


bem é bem resumido o que eu fiz, qualquer coisa poste sua duvida.
FERRAZ 15/03/2010 08:26:35
#336963
Resposta escolhida
Claudio, 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.
Tópico encerrado , respostas não são mais permitidas