Access - Rango de fechas en informe por codigo

 
Vista:

Rango de fechas en informe por codigo

Publicado por Rafael G. (12 intervenciones) el 30/09/2004 22:33:16
Buenas tardes a todos,

Mi problema es el siguiente, tengo un informe basado en una consulta, y deseo filtrarlo con un rango de fechas, asi al abrirlo tomo los datos de fecha inicial y final de dos controles Text, pero sucede lo siguiente.

si digito el rango de fecha de 30/06/2004 y 30/06/2004 funciona trae los datos que corresponden a ese dia.

Si digito el rango 01/07/2004 y 30/07/2004 funciona, pero mal, porque si trae los datos de el mes 07, pero tambien trae los datos de fechas anteriores, y asi en adelante. con el rango 01/08/2004 y 30/08/2004 trae todos los datos que hay hasta el dia 30/08/2004.

el codigo que estoy usando es el siguiente:

--------------------------------------------------------------------------------------------

FechaIni = Format(txtFechaInicio.Value, "dd/mm/yy")
FechaFin = Format(txtFechaFin.Value, "dd/mm/yy")

StrWHERE = "(FechaAccion BETWEEN #" & FechaIni & "# AND #" & FechaFin & "#)"

DoCmd.OpenReport StrNombreInf, acViewPreview, , StrWHERE
--------------------------------------------------------------------------------------------

tambien intente con:

StrWHERE = "(FechaAccion >= #" & FechaIni & "# AND FechaAccion <= #" & FechaFin & "#)"

tambien probe escribiendo la fecha en el codigo directamente y tampoco.

Por favor si alguien sabe a que se debe este problema se le agradezco mucha su ayuda, o si tienen alguna sugerencia para ejecutar este procedimiento de otra forma.

De antemano muchas gracias por su ayuda.

Un Saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Rango de fechas en informe por codigo

Publicado por David Gil (24 intervenciones) el 01/10/2004 12:45:29
Ten en cuenta que SQL es ingles y que el mes va antes del dia. En el caso de la fecha fin no hay problema pq no hay mes 30 pero en la fechaini si hay mes uno, comprueba que no te esta tomando como fecha ini el 7 o el 8 de enero, por lo demas a mi me parece que esta bien.
Otra posibilidad es que hagas el filtro directamente en la consulta del informe poniendo el campo fecha > forms![NombreForm]![NombreControlIni] Y < forms![NombreForm]![NombreControlFin]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Rango de fechas en informe por codigo

Publicado por Rafael G. (12 intervenciones) el 01/10/2004 14:17:05
Tenias toda la razón, el programa toma como mes los digitos del dia,
pero ya verifique el formato de fecha del sistema, verifique el formato que le estoy dando y no toma los valors de la forma correcta, no tienes idea de como puedo obligar al programa a que lea los datos de la forma correcta??

La idea de pasar los datos des de el form, es buena, pero la consulta tiene varios campos de fecha y en un form el usuario selecciona los criterios de filtrado, todo esto lo hago sobre la misma consulta con el mismo informe.....

Porfa si tienes otra idea seria de mucha ayuda...

Gracias y un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Rango de fechas en informe por codigo

Publicado por David Gil (24 intervenciones) el 01/10/2004 17:56:40
Intenta hacer el filtro en el evento load del report con me.filteron=true y
me.filter=strWHERE.
Ahora tambien se me ocurre que dejes que trabaje en ingles y luego tu lo muestres en español.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Rango de fechas en informe por codigo

Publicado por Rafael G. (12 intervenciones) el 04/10/2004 20:28:55
ya quedo solucionado, no verifica la fecha como tal, verifico el numero que representa esta para el sistema operativo.

la instruccion quedo así:

StrWHERE = "FechaAccion BETWEEN " & CLng(txtFechaInicio.Value) & " AND " & CLng(txtFechaFin.Value)

Gracias, tus comentarios fueron de gran ayuda.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar