Microsoft Access – Filtrar formulario usando VBA – Filtrando números

Si seguiste el tutorial anterior “Filtrar formulario usando VBA” donde te mostraba como filtrar un subformulario a través de un campo tipo texto ahora es el momento de aprender a filtrar un campo tipo numérico.

Seguiré utilizando la base de datos del ejemplo anterior. Es una base de datos de películas con sus calificaciones, según el ministerio de educación y cultura de España que es de donde he descargado la base de datos con cerca de 77.000 registros lo que además nos viene bien para comprobar el poder de Microsoft Access trabajando con bases de datos extensas.

La idea es sencilla, tenemos un formulario principal que no está vinculado a ninguna tabla y sobre este un subformulario vinculado a la tabla “Películas” y que muestra todos los registros. A través del formulario principal escribiremos los distintos filtros, pudiendo combinarlos, y pulsando el botón “Buscar” nos localizará la película que estemos buscando de entre todas las disponibles en la base de datos.

Access-Filtro-Formulario

En este segundo tutorial nos vamos a centrar solamente en el filtro por la Distribuidora de la película, el cual en un campo tipo “Numérico” ya que filtraremos por el código de la distribuida que es su campo clave. También puedes comprobar que en los formularios he utilizado un cuadro combinado para la distribuidora que, a pesar de mostrar el nombre de la distribuidora, realmente lo que está seleccionando es su código que, como dije antes, es numérico. Como puedes comprobar en el ejemplo he desactivado el campo título que usamos en el ejemplo anterior y siguen desactivados el resto de filtros. El motivo es enseñarte a utilizar los distintos tipos de filtros y, una vez sepamos hacerlos todos, buscaremos la forma de poder combinarlos lo que hará de nuestro formulario una herramienta muy potente.

Como aplicar el filtro al formulario:

Los formularios en Access tienen dos propiedades que son las que vamos a modificar mediante código VBA y son:

  • Filter
  • FilterOn

Con la propiedad Filter especificamos el filtro concreto que queremos utilizar, por ejemplo “que la distribuidora se la Nº 33” que en la tabla Distribuidoras corresponde con “ALINCO S.A.”

Y con la propiedad FilterOn le diremos que aplique ese filtro.

Esas dos propiedades las vamos a configurar en el evento “Click” del botón “Buscar” situado en el formulario principal.

Lo primero que haremos será crear una variable para guardar en ella el filtro.

Y ahora guardamos en ella el filtro

Con los filtros numéricos es más sencillo de trabajar que con los filtros de texto como vimos en la entrega anterior.

Seguimos utilizando el símbolo “&” para UNIR la cadena de caracteres del filtro con el cuadro combinado “Me.cboDistribuidora” de nuestro formulario. En este caso, al hacer referencia a un campo numérico ya no tenemos que encerrarlo entre comillas dobles y por tanto la línea del filtro se simplifica mucho más utilizando las comillas dobles solo al principio y al final de la cadena de caracteres que forman el filtro en sí. Realmente un filtro numérico sería algo así:

sFiltro = “Distribuidora = 33”

Y después sustituir nuestra distribuidora nº 33 por la referencia al cuadro combinado donde seleccionamos la misma tal y como vimos unas líneas más arriba:

Pues ya tenemos el filtro asignado a nuestra variable sFiltro, ahora solo nos queda especificar a Access que le asigne esa variable al subformulario y a continuación que lo filtre activándole el filtro. El código completo del botón buscar será este:

Como toque final debemos desactivar el filtro con el botón “Mostrar Todos” y nada más simple como poner el filtro del subformulario en blanco, luego desactivar el filtro y si somos muy perfeccionistas, limpiar el cuadro de texto para que el usuario pueda realizar una nueva búsqueda.

Como puedes comprobar en el ejemplo solo he filtrado por el campo Distribuidora, obviando el campo Calificación que funciona exactamente igual. Te animo a que configures y pruebes el filtro del campo Calificación.

En la próxima entrega filtraremos por los campos fecha.

Referencias

Descárgate el ejemplo.

Listado de películas del ministerio de Educación y Cultura

Si quieres saber más

Curso de iniciación a Microsoft Access

Curso Avanzado de Microsoft Access con VBA

Estudió formación profesional en la rama de electrónica hasta que descubrió el apasionante mundo de los ordenadores personales. Desde entonces, la administración de bases de datos, hojas de cálculo y programación en Microsoft Visual Basic para aplicaciones le han acompañado hasta el día de hoy. En estos momentos, su principal interés está enfocado a portabilizar las bases de datos a dispositivos móviles Windows e IOS, en entornos cliente servidor, enfocado en desarrollos con Microsoft Access, FileMaker y Servidores en la nube como Microsoft SQL Azure.

2 Comments

  1. Responder Jesus Recalde

    Cordial saludo,

    He buscado por todo lado un ejemplo como este, y este se adapta perfectamente a un trabajo que estoy realizando, esta publicación merece mis mas sinceros agradecimientos, encontré lo que buscaba.

    Gracias

    Jesus Recalde

Deja un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR