none
Entre fechas RRS feed

  • Pregunta

  • Hola.

    Tengo esta instruccion para generar un reporte. Muevo todos los registro comprendidos entre dos fechas a una tabla transitoria para mostrar el reporte.

    Sucede que solo funciona cuando las dos fechas son iguales, una vez diferentes, me trae todo el contenido de la tabla y el reporte se convierte en incierto.

    Dim comando3 As New SqlCommand("INSERT INTO PasoKardex (codigo, Descripcion, precio, costo, ventas, usuario, observacion, numdoc, fecha, salida) SELECT DetallePed.codigo, Productos.descripcion, DetallePed.precio, Productos.costo, DetallePed.monto, Pedidos.usuario, Pedidos.observacion, DetallePed.factura, Pedidos.fecha, DetallePed.cantidad FROM DetallePed INNER JOIN Productos ON DetallePed.codigo = Productos.codigo INNER JOIN Pedidos ON DetallePed.factura = Pedidos.factura where condicion='Al Contado' and CONVERT(varchar(10), fecha, 103)>='" + Convert.ToDateTime(BeneFecha.des).Date + "' and CONVERT(varchar(10), fecha, 103)<='" + Convert.ToDateTime(BeneFecha.has).Date + "'", connection)

    Gracias

    jueves, 22 de febrero de 2018 23:38

Respuestas

  • Gracias por el consejo.

    Pero tu formula me da el mismo resultado.

    Si creo que es la forma por como se ha puesto la sentencia de las fechas

    esta parte debería ser asi

     ...and fecha>=@BeneFechaDes and fecha < dateadd(day,1,@BeneFechaHas)", connection)....


    Votar es agradecer.
    Saludos.
    Lima-Perú


    viernes, 23 de febrero de 2018 2:13

Todas las respuestas

  • Hola , es una query bastante larga , no has considerado ponerlo en un procedure

    por otro lado la sugerencia siempre va  a ser que uses parámetros

     Dim comando3 As New SqlCommand("INSERT INTO PasoKardex (codigo, Descripcion, precio, costo, ventas, usuario, observacion, numdoc, fecha, salida) SELECT DetallePed.codigo, Productos.descripcion, DetallePed.precio, Productos.costo, DetallePed.monto, Pedidos.usuario, Pedidos.observacion, DetallePed.factura, Pedidos.fecha, DetallePed.cantidad FROM DetallePed INNER JOIN Productos ON DetallePed.codigo = Productos.codigo INNER JOIN Pedidos ON DetallePed.factura = Pedidos.factura
     where condicion='Al Contado' and @BeneFechaDes>=fecha  and fecha < dateadd(day,1,@BeneFechaHas)", connection)
     comando3.Parameters.AddWithValue("@BeneFechaDes" , Convert.ToDateTime(BeneFecha.des))
     comando3.Parameters.AddWithValue("@BeneFechaHas" , Convert.ToDateTime(BeneFecha.has))
     


    Votar es agradecer.
    Saludos.
    Lima-Perú


    viernes, 23 de febrero de 2018 0:07
  • Gracias por el consejo.

    Pero tu formula me da el mismo resultado.

    viernes, 23 de febrero de 2018 1:10
  • Gracias por el consejo.

    Pero tu formula me da el mismo resultado.

    Si creo que es la forma por como se ha puesto la sentencia de las fechas

    esta parte debería ser asi

     ...and fecha>=@BeneFechaDes and fecha < dateadd(day,1,@BeneFechaHas)", connection)....


    Votar es agradecer.
    Saludos.
    Lima-Perú


    viernes, 23 de febrero de 2018 2:13
  • Gracias.

    No pude notar la inversión de criterios. Resultó.

    viernes, 23 de febrero de 2018 13:18