none
Repòrte con Crystal Report usando procedimiento almacenados RRS feed

  • Pregunta

  • Buenas espero me puedan guiar en lo siguiente, de antemano muchas gracias a todos.

    Tengo un reporte  que tiene un campo fecha y otros mas, lo que quiero es realizar una busqueda por un rango de fecha, para ello he creado una procedmiento almacenado  y le conectado pro medio (establecer ubicacion de origen de datos ) .
    Para ver si funciona primero hice una prueba buscando por fecha y no tuve problemas con el reporte, pero al realizar la busqueda con el BETWEEN no me muestra los datos , no se en que estoy fallando,  los codigos son los siguientes:

    Procedmiento almacenado:

    create procedure fechafac
    @fecha1 smalldatetime,
    @fecha2 smalldatetime
    AS
    begin
    SELECT numserie, numcorrela, fecha, idproyecto
    FROM factura
    where CONVERT(CHAR(10),fecha,112) between CONVERT(CHAR(10),@fecha1,112) and CONVERT(CHAR(10),@fecha2,112)
    end

     

    Codigo en VB.net:

    utilizo 2 controles datatimepicker para el rango de fechas.

     

    Dim pvParametros As New ParameterValues()
            'objeto para almacenar un valor de un parametro
            Dim parfech1 As New ParameterDiscreteValue()
            Dim parfech2 As New ParameterDiscreteValue()
            Dim orptprueba As New ejemplo4()
            Dim ofrm As New frmprueba1()
            'asiganar el valor al parametro
            parfech1.Value = dtpfecha1.Value
            parfech2.Value = dtpfecha2.Value

            ' añadir el parámetro a la colección de parámetros
            pvParametros.Add(parfech1)
            pvParametros.Add(parfech2)
            ' tomar del informe, el parámetro que necesitemos,
            ' a través de su colección de campos de parámetros,
            ' y aplicar a dicho parámetro los valores de los parámetros que están en la colección (en este caso sólo uno)
            orptprueba.DataDefinition.ParameterFields("@fecha1").ApplyCurrentValues(pvParametros)
            orptprueba.DataDefinition.ParameterFields("@fecha2").ApplyCurrentValues(pvParametros)

            ofrm.crv1.ReportSource = orptprueba

            ofrm.Show()

     

     


    A la espera de respuestas. Bendiciones.

    viernes, 17 de diciembre de 2010 1:23

Todas las respuestas

  • hola

    con el between no uses valores charm usa valores numericos

    SELECT numserie, numcorrela, fecha, idproyecto
    FROM factura
    where CONVERT(INT,fecha,112) between CONVERT(INT,@fecha1,112) and CONVERT(INT,@fecha2,112)

     

    de esta forma si hay un rango en el cual comparar

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 17 de diciembre de 2010 3:03
  • danielchl Medallas del usuario Medallas del usuario Medallas del usuario Medallas del usuario Medallas del usuario estoy desarrollando tambien un reporte con procedimientos y tambien con rango de fechas la verdad he tenido muchos inconvenientes, y por lo que observo tu ya lo hiciste sera que me puedes ayudarme a desarrollar o me podrias compartir como lo hiciste gracias
    martes, 15 de febrero de 2011 14:57