Problemas al buscar registros Access por rango de fechas

En un formulario tengo dos cuadros de texto "Fecha_Inicio" y "Fecha_Final" y un botón "Buscar"

La idea es que, al hacer clic en el botón, me abra el formulario continuo "FHD Contabilidad" y me devuelva los registros cuya fecha de anotación estén dentro del rango de fechas definido por el usuario.

Al botón le he puesto el siguiente código:

DoCmd.OpenForm "FHD_Contabilidad", acFormDS, , "Fecha_Anotacion Between #" & Me.FECHA_INICIO & "# AND #" & Me.Fecha_Final & "#"

El problema es que al ejecutar la busqueda:

Me devuelve registros que están fuera del rango de fechas definido.

¿Cómo puedo solucionar esto?

1 Respuesta

Respuesta
1

Puedes solucionarlo dando formato a las fechas, por ejemplo formato americano, que es el que mejor entiende:

DoCmd.OpenForm "FHD_Contabilidad", acFormDS, , "Fecha_Anotacion Between #" & Format(Me.FECHA_INICIO,"mm/dd/yyyy") & "# AND #" & Format(Me.Fecha_Final,"mm/dd/yyyy") & "#"

o formato europeo:

DoCmd.OpenForm "FHD_Contabilidad", acFormDS, , "Fecha_Anotacion Between #" & Format(Me.FECHA_INICIO,"dd/mm/yyyy") & "# AND #" & Format(Me.Fecha_Final,"dd/mm/yyyy") & "#"

Prueba y quédate con el que mejor te funcione.

Gracias amigo.

He probado las dos opciones y he comprobado que el sistema americano funciona perfectamente, con el europeo no me va bien.

Además  de filtrar por el rango de fecha, se podría poner otra condición?

Por ejemplo. para buscar "gastos", "ingresos", "proveedores", etc. en un rango de fechas definido por el usuario.

Puedes poner hasta 99 condiciones ( creo), solo has de encadenadas con el operador que necesites, por ejemplo :

DoCmd.OpenForm "FHD_Contabilidad", acFormDS, , "Fecha_Anotacion Between #" & Format(Me.FECHA_INICIO,"mm/dd/yyyy") & "# AND #" & Format(Me.Fecha_Final,"mm/dd/yyyy") & "# AND Tipo='Gastos' AND proveedor ='" & Me.txtProveedor & "'"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas