Filtrar por fecha a través de un formulario

No entiendo porque no filtra por fecha un formulario que ataca a una tabla vinculada después de poner en la hoja de propiedades en valor prederteminado FECHA(). Me muestra todos los registros de diferentes fechas.

He comprobado que tanto el campo de la tabla como el del formulario tengan formato fecha corta.

2 respuestas

Respuesta
1

Un valor 'predeterminado' no es un valor real mientras NO se gurde el registro (momento en que se asentara el valor).
Lo correcto es que se le asigne 'el filtro' a la propiedad FILTER del formulario y tras ello se activa para aplicarlo (Me.FilterOn = True).

Ilumíname por favor. El valor está asentado en la tabla. ¿Dónde y como debo colocar el filtro? Pensé que bastaba con ponerlo en el campo fecha del formulario..

Los formularios tiene una propiedad (FILTER) que es de lectura y escritura, además tienen la opción de poder aplicar o no el filtro a voluntad (FilterOn).

El filtro no es mas que una igualdad, o se cumple o no se cumple, si el evento 'Al cargar' se le asigna valor a la propiedad Filter:

Me.Filter = "[Nombre del campo fecha] =" &  Date

Y tras ello se activa:
Me.FilterOn= True

Se logra el efecto deseado y si (a mayores) se crea un botón y en el evento que nos apetezca le ponemos:

Me.FilterOn = Not Me.FilterOn

A voluntad filtramos por la fecha actual o mostramos todos los registros (hay momentos en que es útil acceder a la globalidad de los datos).

Respuesta
1

Puedes hacerlo de muchas formas. Por ejemplo, vamos a suponer que el formulario está basado en la tabla Pedidos. Y vamos a suponer( aunque yo no lo haría así) que tienes un botón para "filtrar". En sus propiedades-Eventos-Al hacer clic puedes poner

me.recordsource="select * from pedidos where fechapedido=[Escriba una fecha en formato dd/mm/aaaa]"

Así, cuando pulses el botón te aparecerá esa pregunta. Escribes la fecha que quieras y al aceptar el formulario te mostrará únicamente aquellos registros de la tabla Pedidos en que su fechapedido sea igual a la que acabas de escribir.

También podrías hacerlo con un cuadro de texto en el formulario, donde escribieras la fecha que quieres "filtrar"

También podrías hacerlo con una consulta.

En fin, si pudieras concretar algo más.

Te explico:

Tengo un formulario con un botón que ejecuta por macro tres códigos. Dos consultas y la ultima abrir un formulario de vista hoja de datos para agregar valores. Pues bien, este fomulraio ataca a una base de datos con campo fecha, y sólo quiero que nos muestre la fecha del día.

Entonces, sin saber como son las consultas, podrías poner,

me.recordsource="select * from pedidos where fechapedido=Date()"

Es decir, que el origen de registros del formulario sean aquellos registros de la tabla Pedidos donde su fechapedido sea igual a la fecha del sistema.

Donde digo Pedidos digo el nombre de cualquier tabla o consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas