none
filtrar x fecha en CrystalReport RRS feed

  • Pregunta

  • Que tal amigos tengo lo siguiente en un formulario, y quisiera filtrar el informe por un rango de fechas, realice lo de abajo y me da error, no soy bueno en reporte y quiesiera que me ayuden

    gracias.

     

    Dim Reporte As New CrystalReport4

    Reporte.RecordSelectionFormula = "{RetiroMaterial.Fecha} = '" & CType(Me.TextBox1.Text, Date) & " to " & CType(Me.TextBox2.Text, Date) & "'"

    Me.crReporte.ReportSource = Reporte

     

    Error en la formula <Record_Selection>

    '{RetiroMaterial.Fecha}='01/07/2008 to 14/10/2008'

    Aqui se requiere una fecha-hora

     

    Les cuento que al textbox le cambie a DateTime, y lo mismo me da error.

     

     

    • Cambiado Enrique M. Montejo lunes, 9 de mayo de 2011 17:08 crystal reports (De:Lenguaje VB.NET)
    martes, 14 de octubre de 2008 16:39

Todas las respuestas

  • PUEDES HACER ESTO UTILIZANDO UN DATASET EN DONDE FILTRES LOS DATOS COMO TE MUESTRO EN EL CODIGO DE ABAJO

     

    entonces esta es una funcion en la que utilizo un dataset en el que me genera un consulta filtrada por fechas utilizando la instruccion BETWEEN

     

    Private Function filtro_fechas(ByVal fechadel As Date, ByVal fechaal As Date, ByVal conexion As String) As DataSet

    Try

    Dim con As New OleDb.OleDbConnection(conexion)

    Dim sql As String = "SELECT * FROM pagos WHERE fecha BETWEEN #" & fechadel & "# AND #" & fechaal & "# ORDER BY id"

    Dim dspagos As New DataSet()

    Dim dapagos As New OleDb.OleDbDataAdapter(sql, con)

    con.Open()

    dapagos.Fill(dspagos, "pagos")

    con.Close()

    Return dspagos

    Catch err As OleDb.OleDbException

    Throw err

    Catch err As Exception

    Throw err

    End Try

    End Function

     

    Despues tienes que agregar un dataset a tu proyecto y en el agregas la tabla que vas a utilizar para tu consulta.

    Hecho lo anterior agregas un reporte a tu proyecto y escoges como browse el dataset q añadiste y la tabla

    ya despues pa poder mandar llamar la funcion de arriba utilizas este codigo

     

    Dim fechadel As String = Me.dtpdel.Value.ToShortDateString

    Dim fechal As String = Me.dtpal.Value.ToShortDateString

    Dim informe As New ReportDocument()

    informe.Load("C:\pagos.rpt"'esta es la ruta donde se 'encuentra el reporte en este caso se encuentra en c

    informe.SetDataSource(pagos(fechadel, fechal, conexion))

    Me.crventas.ReportSource = informe

     

    este codigo lo puedes añadir a un boton

     

    ya con este codigo puedes hacer cualquier tipo de filtro que te permita el lenguaje SQL

     

    si tienes alguna otra duda mandamela a mi correo anayavalencia@hotmail.com

     

     

    lunes, 19 de enero de 2009 22:43