Acción de macro AplicarFiltro

Puede usar la acción ApplyFilter para aplicar un filtro, un consulta o una cláusula WHERE de SQL a una cláusula tabla, formulario o informe para restringir u ordenar los registros de la tabla, o los registros de la tabla o consulta subyacente del formulario o informe. Para los informes, puede usar esta acción solo en un macro especificado por la propiedad de evento OnOpen del informe.

Nota: Puede usar esta acción para aplicar una cláusula WHERE SQL al aplicar un filtro de servidor. No se puede aplicar un filtro de servidor al origen de registros de un procedimiento almacenado.

Nota: La acción de macro ApplyFilter no está disponible en las aplicaciones web de Access.

Valor

La acción ApplyFilter tiene los siguientes argumentos.

Argumento de la acción

Descripción

Nombre del filtro

El nombre de un filtro o consulta que restringe o ordena los registros de la tabla, formulario o informe. Puede escribir el nombre de una consulta existente o de un filtro que se haya guardado como consulta en el cuadro Nombre de filtro de la sección Argumentos de acción del panel Generador de macros.

Nota: Cuando usa esta acción para aplicar un filtro de servidor, el argumento Nombre de filtro debe estar en blanco.

Where Condition

Una cláusula SQL WHERE válida (sin la palabra WHERE) o una expresión que restringe los registros de la tabla, formulario o informe.

Nota: En una expresión de argumento Condición Where, el lado izquierdo de la expresión normalmente contiene un nombre de campo de la tabla o consulta subyacente para el formulario o informe. El lado derecho de la expresión normalmente contiene la criterio que desea aplicar a este campo para restringir u ordenar los registros. Por ejemplo, los criterios pueden ser el nombre de un control de otro formulario que contiene el valor que desea que coincidan los registros del primer formulario. El nombre del control debe estar completo, por ejemplo:

Formularios! nombrede formulario! controlname

Los nombres de campo deben estar rodeados de comillas dobles y los literales de cadena deben estar entre comillas simples.

La longitud máxima del argumento Where Condition es de 255 caracteres. Si necesita escribir una cláusula WHERE más SQL, use el método ApplyFilter del objeto DoCmd en un módulo Visual Basic para Aplicaciones (VBA). Puede escribir instrucciones SQL cláusula WHERE de hasta 32.768 caracteres en VBA.


Nota: Puede usar el argumento Nombre de filtro si ya ha definido un filtro que proporciona los datos adecuados. Puede usar el argumento Where Condition para especificar los criterios de restricción directamente. Si usa ambos argumentos, Access aplica la cláusula WHERE a los resultados del filtro. Debe usar uno o ambos argumentos.

Observaciones

Puede aplicar un filtro o consulta a un formulario en vista Formulario o Vista de hoja de datos.

El filtro y la condición WHERE que aplique se convierten en la configuración de la propiedad Filtro o Filtro del servidor del formulario o informe.

Para tablas y formularios, esta acción es similar a hacer clic en Aplicar filtro/ordenar o Aplicar filtro de servidor en el menú Registros. El comando de menú aplica el filtro creado más recientemente a la tabla o formulario, mientras que la acción Aplicarfiltro aplica un filtro o consulta especificados.

En una base de datos de Access, si apunta a Filtro en el menú Registros y, a continuación, hace clic en Filtro o ordenación avanzada después de ejecutar la acción Aplicarfiltro, el Ventana Filtro avanzado/Ordenar muestra los criterios de filtro que ha seleccionado con esta acción.

Para quitar un filtro y mostrar todos los registros de una tabla o formulario en una base de datos de Access, puede usar la acción ShowAllRecords o el comando Quitar filtro/ordenación en el menú Registros. Para quitar un filtro en un proyecto de Access (.adp), puede volver a la ventana de filtro de servidor por formulario y quitar todos los criterios de filtro y, a continuación, hacer clic en Aplicar filtro de servidor en el menú Registros de la barra de herramientas o establecer la propiedad ServerFilterByForm en False (0).

Al guardar una tabla o formulario, Access guarda cualquier filtro definido actualmente en ese objeto, pero no aplicará el filtro automáticamente la próxima vez que se abra el objeto (aunque aplicará automáticamente cualquier ordenación que haya aplicado al objeto antes de que se guardara). Si desea aplicar un filtro automáticamente cuando se abre un formulario por primera vez, especifique una macro que contenga la acción ApplyFilter o un procedimiento de evento que contenga el método ApplyFilter del objeto DoCmd como el valor de la propiedad de evento OnOpen del formulario. También puede aplicar un filtro mediante la acción OpenForm o OpenReport, o sus métodos correspondientes. Para aplicar un filtro automáticamente cuando se abre una tabla por primera vez, puede abrir la tabla mediante una macro que contenga la acción Abrir tabla, seguida inmediatamente de la acción Aplicarfiltro.

Ejemplo

Aplicar un filtro mediante una macro

La siguiente macro contiene un conjunto de acciones, cada una de las cuales filtra los registros de un formulario de lista de teléfonos de cliente. Muestra el uso de las acciones ApplyFilter, ShowAllRecordsy GoToControl. También muestra el uso de condiciones para determinar qué botón de alternancia de un grupo de opciones se ha seleccionado en el formulario. Cada fila de acción está asociada con un botón de alternancia que selecciona el conjunto de registros empezando por A, B, C, y así sucesivamente, o todos los registros. Esta macro debe adjuntarse al evento AfterUpdate del grupo de opciones CompanyNameFilter.

Condición

Acción

Argumentos: Configuración

Comentario

[CompanyNameFilters]=1

ApplyFilter

Where Condition: [CompanyName] Like "[AÀÁÂÃÄ]*"

Filtre para nombres de compañía que empiecen por A, À, Á, Â, Ã o Ä.

[CompanyNameFilters]=2

ApplyFilter

Where Condition: [CompanyName] Like "B*"

Filtre para nombres de compañía que empiecen por B.

[CompanyNameFilters]=3

ApplyFilter

Where Condition: [CompanyName] Like "[CÇ]*"

Filtre para nombres de compañía que empiecen por C o Ç.

... Las filas de acción de D a Y tienen el mismo formato que A a C ...

[CompanyNameFilters]=26

ApplyFilter

Where Condition: [CompanyName] Like "[ZÆØÅ]*"

Filtre para nombres de compañía que empiecen por Z, Æ, Ø o Å.

[CompanyNameFilters]=27

ShowAllRecords

Mostrar todos los registros.

[RecordsetClone]. [RecordCount]>0

GoToControl

Nombre del control: CompanyName

Si se devuelven registros para la carta seleccionada, mueva el foco al control CompanyName.


¿Necesita más ayuda?

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×