RELATORIO ENTRE DATAS COM CRYSTAL REPORTS
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
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
Bom dia,
Verifique se no dataset os campos estão do tipo Data.
Verifique se no dataset os campos estão do tipo Data.
Ola Altair,
Esta como data.
Esta como data.
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?
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.
{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.
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
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
Alguem pode ajudar?
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!
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.
- 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