none
FILTRAR POR RANGO DE FECHAS CON REPORT VIEWER EN BASIC 2008

    Pregunta

  • Hola tengo un problema con el objeto Microsoft ReportViewer, lo que quiero hacer es filtrar por Rango de fechas en el reporte que estoy realizando, quiro hacer que por medio del data set crear un parametro en el Query Builder para poder hacer con el fill... o si hay otra mas facil de hacerlo se los agradeceria la ayuda.

    miércoles, 10 de junio de 2009 15:42

Respuestas

Todas las respuestas

  • hola,

    hay algo que no entendi dices :"por medio del data set crear un parametro en el Query Builder".

    O sea estas creando tu reporte por medio de un dataset, o se no conectas a este a una db, haces udo de rdlc localmente ?

    O sea haras algo como esto:

    CodeProject: Using the ASP.NET 2.0 ReportViewer in Local Mode.

    si es asi tambien podrias optar por filtrar el dataset.

    saludos
    Leandro Tuttini

    Work: Iceberg Solutions
    Blog
    Buenos Aires
    Argentina
    miércoles, 10 de junio de 2009 16:23
  • Si lo que me dices esta bien y ya lo aplique a otros reportes ahora lo que quiero hacer tal ves no me explique muy bien pero es que al seleccionar un rango de fechas por  ejemplo usando un campo llamado fecha_inicio y utilizar ese campo para poder realizar el rango de fechas, ahora bien lo que quiero es que al momento de seleccionar el rango de fechas solo me visualice los datos de ese rango seleccionado por decir del 01/05/2009 al 05/05/2009.

    como lo puedo hacer??
    miércoles, 10 de junio de 2009 16:35
  • entiendo, hay varias formas de hacerlo.

    - puede filtrar las fechas directamente en el query que realizas en tu base de datos, cargando el dataset ya filtrado.
    Por supuesto cuando bindee este a tu reporte ya estara filtrado.

    - la otra es filtrar el dataset directamente, si es que este ya te viene cargado.

    Introduction to Filtering and Sorting in Datasets

    en el link veras que tienes el metodo Select.

    DataTable.Select en campo tipo Datetime

    como veras puedes combinar filtros, aunque segun vi en varios post el formato de la fecha puede causar algunso problemas.

    saludos

    Leandro Tuttini

    Work: Iceberg Solutions
    Blog
    Buenos Aires
    Argentina
    miércoles, 10 de junio de 2009 17:09
  • hola,

    hay algo que no entendi dices :"por medio del data set crear un parametro en el Query Builder".

    O sea estas creando tu reporte por medio de un dataset, o se no conectas a este a una db, haces udo de rdlc localmente ?

    O sea haras algo como esto:

    CodeProject: Using the ASP.NET 2.0 ReportViewer in Local Mode.

    si es asi tambien podrias optar por filtrar el dataset.

    saludos
    Leandro Tuttini

    Work: Iceberg Solutions
    Blog
    Buenos Aires
    Argentina
    Si lo que me dices esta bien y ya lo aplique a otros reportes ahora lo que quiero hacer tal ves no me explique muy bien pero es que al seleccionar un rango de fechas por  ejemplo usando un campo llamado fecha_inicio y utilizar ese campo para poder realizar el rango de fechas, ahora bien lo que quiero es que al momento de seleccionar el rango de fechas solo me visualice los datos de ese rango seleccionado por decir del 01/05/2009 al 05/05/2009.

    como lo puedo hacer??

    miércoles, 10 de junio de 2009 17:09
  • entiendo, hay varias formas de hacerlo.

    - puede filtrar las fechas directamente en el query que realizas en tu base de datos, cargando el dataset ya filtrado.
    Por supuesto cuando bindee este a tu reporte ya estara filtrado.

    - la otra es filtrar el dataset directamente, si es que este ya te viene cargado.

    Introduction to Filtering and Sorting in Datasets

    en el link veras que tienes el metodo Select.

    DataTable.Select en campo tipo Datetime

    como veras puedes combinar filtros, aunque segun vi en varios post el formato de la fecha puede causar algunso problemas.

    saludos

    Leandro Tuttini

    Work: Iceberg Solutions
    Blog
    Buenos Aires
    Argentina

    Hola, Lo que estoy haciendo es los siguiente en el reporte quiero que me muestre los datos por medio de un rango de fechas y estoy utilizando el objeto Microsoft ReportViewer, lo que estoy haciendo es lo siguiente:

    en el boton que genera el reporte hice lo siguiente.

    Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

          Dim sql As String
       
          sql = "select idpermiso, idempleado, descripcion, nombre, congreso, lugar, fecha_inicio, dias_tomados, svne,   descripcion, goce" & _
                  "from Vista_Permisos" & _
                  "where fecha_inicio >= @fechainicio" & _
                  "and fecha_inicio <= @fechafinal" 

         Dim sqlcommand As New SqlClient.Sqlcommand

        sqlcommand.Parameters.Add("fechainicio", SqlDbType.DateTime).Value = cmbinicio.value
        sqlcommand.Parameters.Add("fechafinal", SqlDbType.DateTime).Value = cmbfinal.value

        me.ReportViewer1.RefreshReport()

    End Sub

    pero no se cuando selecciono el rango de fechas no me visualiza los datos y por lo tanto me muestra en blanco el Reporte

    Que puedo hacer? me falta algo??
     
    miércoles, 10 de junio de 2009 17:18
  • hola,

    pero el tema con tu codigo es que al reportviewer no le estas indicando que reporte debe mostrar.

    O sea tiene por un lado una consulta que nunca ejecutas y por el otro el visor de reportes que nunca asignas un reporte.

    Segun veo quieres hacer uso de reportes locales, o sea no vas a utilizar reporting service.
    Si es asi en el link que te pase en otro post:
    CodeProject: Using the ASP.NET 2.0 ReportViewer in Local Mode.

    tienes un ejemplo de como lograr, lo que quieres.

    en el ejemplo hace uso de un dataset tipado para confeccionar el reporte, luego lo llena con una consulta, y por ultimo bindea el dataset al reporte.

    Building Report-enabled Applications with the New ReportViewer Controls

    En este otro link veras unas lineas que dicen:

    reportViewer.ProcessingMode = ProcessingMode.Local;
    reportViewer.LocalReport.ReportPath = "Customer Orders.rdlc";

    estas son muy importantes ya que le dice al control reportviewer que reporte se cargara.

    saludos
    Leandro Tuttini

    Work: Iceberg Solutions
    Blog
    Buenos Aires
    Argentina
    miércoles, 10 de junio de 2009 17:33