RELATORIO ENTRE DATAS COM CRYSTAL REPORTS

FABDANTAS 18/07/2013 09:24:54
#426238
Ola Amigos,

Fiz um sistema em vb.net para cadastro de chamados, consigo tirar os relatorios com crystal reportas normalmente.

Porem necessito filtrar por data estes relatórios, quando seleciono a data inicial e a final no datetimepicker e clico no botão (mais abaixo o codigo do botão), recebo a mensagem que esta na imagem.

segue o codigo do botão.

Try

Dim cryRpt As New ReportDocument
With cryRpt
.FileName = ([Ô]\\fast1\Sistema2\CrystalReport1.rpt[Ô])
.RecordSelectionFormula = [Ô]{Chamados.Data}>=[ô][Ô] & Format(DateTimePicker1.Value, [Ô]dd/MM/yyyy[Ô]) & [Ô][ô] and {Chamados.Data} =<[ô][Ô] & Format(DateTimePicker2.Value, [Ô]dd/MM/yyyy[Ô]) & [Ô][ô][Ô]

End With
CrystalReportViewer1.ReportSource = cryRpt
CrystalReportViewer1.Refresh()
Catch ex As Exception
MsgBox([Ô]ERRO!!![Ô], , [Ô][Ô])
End Try

ALTAIR148 18/07/2013 10:05:08
#426243
Bom dia,

Verifique se no dataset os campos estão do tipo Data.
FABDANTAS 18/07/2013 13:16:26
#426251
Ola Altair,

Esta como data.
ALTAIR148 18/07/2013 14:37:17
#426255
Estranho, mas outro detalhe que pode tentar para ver é o formado da data tente yyyy-mm-dd. No seu caso também acho que seria interessante trazer o período através da SQL com o banco de dados, não ficaria melhor?
JCARLOS 18/07/2013 15:01:39
#426256
Uso o Crystal 8.5 da seguinte forma:

{v_ocTempReceitas.dtArrecadacao}>= date([ô][Ô] & Format(gdtInicio, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô]) [Ô] & _
[Ô] and {v_ocTempReceitas.dtArrecadacao}<= date([ô][Ô] & Format(gdtFinal, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô]) [Ô]

gdtInicio e gdtfinal são variáveis tipo data.
FABDANTAS 18/07/2013 15:54:25
#426260
Fiz as alterações e o erro persiste, tanto com dd/mm/aaaa como aaaa-mm-dd

Coloquei textbox para receber a data

vejam como ficou o codigo

Try
Dim inicio As Date = TextBox1.Text
Dim fim As Date = TextBox2.Text
Dim cryRpt As New ReportDocument
With cryRpt
.FileName = ([Ô]\\fast1\Sistema2\CrystalReport1.rpt[Ô])
.RecordSelectionFormula = [Ô]{chamados.data}>= date([ô][Ô] & Format(inicio, [Ô]dd/MM/yyyy[Ô]) & [Ô][ô]) [Ô] & [Ô] and {chamados.data}<= date([ô][Ô] & Format(fim, [Ô]dd/MM/yyyy) & [Ô][ô]) [Ô]

End With
CrystalReportViewer1.ReportSource = cryRpt
CrystalReportViewer1.Refresh()
Catch ex As Exception
MsgBox([Ô]ERRO!!![Ô], , [Ô][Ô])
End Try

FABDANTAS 19/07/2013 13:21:47
#426300
Alguem pode ajudar?
SURI 23/07/2013 09:33:30
#426400
FABDANTAS, qual é a versão do VB.net que usas? Estou usando o Visual Studio 2012 instalei o Crystal 9 e não consigo adicioná-lo ao projecto. Já adicionei todas as referências do crystal na ferramenta add reference e mesmo assim nada!
SURI 23/07/2013 09:39:05
#426402
Amigão, verifique o seguinte:

- Formato data na bd que você usa é o que você formatou na consulta sql?
- Os campos na bd estão definidos como data, ou vc salva as datas num campo [Ô]string[Ô]
- Na consulta SQL use between data1 and data2 ao invés de >= and <=

Atente à estes aspectos, pode ser que funcione.
Faça seu login para responder