Botón que Filtra Campo - lista

Espero puedan (siempre pueden) tengo un formulario que uso para buscar o filtrar, no se como llamarlo. Se los presento:

Bueno pues este es mi formulario, es una cosa muy sencilla y cosa que baje de internet, pero quiero mejorarlo aplicándole un filtro por año, tal como se ve en la imagen, la cosa es que ese filtro por año lo quiero usar para que cuendo busque por "Sitio" pueda filtrar y ver los del año en curso, o los del año 2015 o 2014 pero solo a los "Sitios" que ya tenga buscados y mostrados en la lista (Ignorar el campo Año, que esta en el recuadro de arriba, el que me interesa es el que esta con letras ROJAS).

La lista es un campo Independiente que sus valores vienen de una consulta donde muestra lo que ven en la imagen.

2 Respuestas

Respuesta
1

Una cosa que yo uso es la siguiente:

Supongamos que el Control de la Columna se llama "SITIO" y el título de esa columna se llama "SITIOTITULO"

1) Al titulo "SITIOTITULO" lo cambio de "Label" a "Text box" (en modo Design, Click derecho sobre el titulo de la columna → Change To → Text box)

2) En propiedades de "SITIOTITULO" hago →
2a) Control Source: ="CIUDAD" (si quiero que en el formulario se vea la Palabra "Ciudad" como titulo de la columna)
2b) Special Effect: Raised (esto no es obligatorio. Yo lo hago para que el titulo tenga aspecto de botón)
3) En el - ahora Control Box - "SITIOTITULO" pongo el siguiente código bajo el evento "OnClick"
                 Private Sub SITIOTITULO_Click()
                 DoCmd.GoToControl "SITIO"
                 DoCmd.RunCommand acCmdFilterMenu
                 End Sub
4) Ahora, al hacer click en el titulo del formulario te va a dar la opción de elegir los sitios que quieras ya sea entre los que hay (marcando o desmarcando las ciudades) o ya sea por filtro de texto (Comienza, contiene, no contiene, Termina, Igual, No igual, ...). Si el campo fuese numérico o de Fechas los filtros que aparecerán serán los correspondientes a cada tipo
5) Si haces lo mismo con todos los títulos, vas a poder hacer las selecciones que quieras con una flexibilidad absoluta y si agregas un botón "Exportar a Excel", vas a enviar solo los datos resultantes de la consulta/filtro que hayas hecho.

6) En general yo agrego un botón "Filter Off" para borrar en una sola acción todos los filtros que pude haber consultado en el formulario. Ese botón tiene el siguiente código en el evento "On click"
       Private Sub FilterOff_Click()
       Me.FilterOn = False
       Me.Filter = ""
       End Sub
Esta combinación de cosas resulta bastante cómoda y versátil

Respuesta
1

Carlos: Quiero entender que cuando dices ... La lista es un campo... supongo que quieres decir que .. La lista es un "Control"...

Entendido así e ignorando si la "Consulta" es una SQL o una consulta con "Parrilla" de campos, la idea es la Siguiente.

En el evento AftrUpdate, (Después de actualizar) del Combo año utiliza la consulta anterior y le añades la condición del año elegido.

Ayudaría que pusieras aquí la SQL que usas. Si es que tienes la consulta hecha, en vista de diseño pulsas con el botón derecho del ratón y eliges >> Vista SQL, la copias y la pegas aquí.

Mis saludos >> Jacinto

Jacinto: aquí esta la consulta:

SELECT tabFinanzas.Id, tabFinanzas.Folio, tabFinanzas.Sitio, tabFinanzas.TipoSolicitud, tabFinanzas.Concepto, tabFinanzas.Status, tabFinanzas.Año
FROM tabFinanzas
ORDER BY tabFinanzas.Año DESC;

Jacinto: Confírmame tu correo por favor, en algún otro foro lo vi. Tal ves si te mando un pedazo de mi BD te pueda servir mas; el correo que tengo es: mailto:[email protected]

Carlos: Si que es ese mi eMail.

Lo que me envías presumo que es la Consulta "Fisica", pero faltaría la parte de Filtro.

La parte condicional.

Ha de estar en el AfterUpdate del Cuadro de Lista o en algún evento que realmente sea el que filtra.

Mis saludos

Seguiré probando lo que me dices..

Te comento que a tu Mail, te eh echo llegar la BD como acordamos, cualquier cosa quedo a tus ordenes

Carlos: Justo ahora te envío tu BD modicada.

Mis saludos >> Jacinto

¡Gracias! 

Jacinto: tal como lo esperaba, funciona a la perfecccion. agradezco tu tiempo y tu valiosa ayuda.

Saludos cordiales desde México!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas