filtrar fechas en data report
Publicado por Jorge (18 intervenciones) el 31/08/2006 20:58:24
Mi problema es que no hayo la manera de poder filtrar los datos que aparecen en el Reporte generado por DATAReport ya que son fechas. En mi aplicación logré con la siguiente consulta:
.Open ("SELECT * FROM Fecha WHERE FECHA BETWEEN (#" & Format(Primera, "yyyy/mm/dd") & "#) and (#" & Format(Ultima, "yyyy/mm/dd") & "#) order by Id_Fecha asc ")
esta trae un recordset ya filtrado para generar otras cosas dentro de la aplicación, pero esta misma linea no me funciona a la hora que uso el generador SQL asociado al Environment del Datareport, una de las principales causas es que no se como traerme los valores "PRIMERA Y ULTIMA" que son tomados desde un monthview, otra es porque en el generandor me da error por los # y por las "", ademas cuando trato de hacerlo a mano en el editor para solamente probar por ejemplo:
SELECT EXTRA.*
FROM EXTRA
WHERE Fecha = 19 / 08 / 2006
el programa no trae ningun registro ya intete colocando la fecha de esta manera `19 / 08 / 2006`
pero me da un error del ODBC y me dice que son pocos parametros que se esperaba 1.
No se si lleve buen camino por el hecho de hacerlo con el Generador SQL, pero es la manera mas viable ya que intenté directamente en el reporte (y aunque consegui la menera de traerme los valores de "PRIMERA Y ULTIMA") no consegui forma de que el programa me filtrase los registros, una de las ultimas cosas que intente en la hoja del reporte fue lo siguiente:
Dim Primera As Date
Dim Ultima As Date
Private Sub DataReport_Initialize()
Primera = Reporte.Sections("Pageheader").Controls("repfecha1").Caption
Ultima = Reporte.Sections("Pageheader").Controls("repFecha2").Caption
DataEnvironment1.rsCommand2.Filter = "SELECT * FROM EXTRA WHERE FECHA Between (#" & Format(Primera, "yyyy/mm/dd") & "#) and (#" & Format(Ultima, "yyyy/mm/dd") & "#) order by Id_Extra asc "
End Sub
pero tampoco resulto, cuando va a generar el reporte da un mensaje y dice que faltan valores, cosa que no entiendo ya que en la consulta como pueden apreciar pido que seleccione todos los registros.
Agradecería encarecidamente si alguien pudiese darme una mano, ya que llevo bastante tiempo en esto y no he podido conseguir solución.
Muchas Gracias
.Open ("SELECT * FROM Fecha WHERE FECHA BETWEEN (#" & Format(Primera, "yyyy/mm/dd") & "#) and (#" & Format(Ultima, "yyyy/mm/dd") & "#) order by Id_Fecha asc ")
esta trae un recordset ya filtrado para generar otras cosas dentro de la aplicación, pero esta misma linea no me funciona a la hora que uso el generador SQL asociado al Environment del Datareport, una de las principales causas es que no se como traerme los valores "PRIMERA Y ULTIMA" que son tomados desde un monthview, otra es porque en el generandor me da error por los # y por las "", ademas cuando trato de hacerlo a mano en el editor para solamente probar por ejemplo:
SELECT EXTRA.*
FROM EXTRA
WHERE Fecha = 19 / 08 / 2006
el programa no trae ningun registro ya intete colocando la fecha de esta manera `19 / 08 / 2006`
pero me da un error del ODBC y me dice que son pocos parametros que se esperaba 1.
No se si lleve buen camino por el hecho de hacerlo con el Generador SQL, pero es la manera mas viable ya que intenté directamente en el reporte (y aunque consegui la menera de traerme los valores de "PRIMERA Y ULTIMA") no consegui forma de que el programa me filtrase los registros, una de las ultimas cosas que intente en la hoja del reporte fue lo siguiente:
Dim Primera As Date
Dim Ultima As Date
Private Sub DataReport_Initialize()
Primera = Reporte.Sections("Pageheader").Controls("repfecha1").Caption
Ultima = Reporte.Sections("Pageheader").Controls("repFecha2").Caption
DataEnvironment1.rsCommand2.Filter = "SELECT * FROM EXTRA WHERE FECHA Between (#" & Format(Primera, "yyyy/mm/dd") & "#) and (#" & Format(Ultima, "yyyy/mm/dd") & "#) order by Id_Extra asc "
End Sub
pero tampoco resulto, cuando va a generar el reporte da un mensaje y dice que faltan valores, cosa que no entiendo ya que en la consulta como pueden apreciar pido que seleccione todos los registros.
Agradecería encarecidamente si alguien pudiese darme una mano, ya que llevo bastante tiempo en esto y no he podido conseguir solución.
Muchas Gracias
Valora esta pregunta


0