Aplicar un filtro usando una macro

Descargar Fromulario
Índice

    se expide la normativa del sistema de administración financiera del sector público.txt


    Aplicar un filtro usando una macro

    Puede usar unamacro para limitar los registros que aparecen en un formulario oinforme. Puede hacerlo aplicando un filtro guardado o escribiendodirectamente en la macro los criterios que limitan los registros.

    Para aplicar un filtro guardado a un formulario o informe

    1 Cree una macroque contenga la acción AplicarFiltro.

    2 En el argumentoNombre de filtro de la acción AplicarFiltro, escriba el nombrede una consulta o de un filtro guardado como una consulta.

    Nota Lasacciones AbrirFormulario (OpenForm) y AbrirInforme (OpenReport)también tienen un argumento Nombre de filtro.

    Los criterios delfiltro o consulta deben limitar los registros en el formulario oinforme deseado. Por ejemplo, quizá haya guardado un filtroque limite los registros en el formulario Clientes únicamentea aquellos clientes de España.

    3 Adjunte la macroal formulario o informe.

    La macrogeneralmente se especifica como valor de la propiedad AlAbrir(OnOpen) del formulario o informe, puesto que desea filtrar losregistros al abrirse inicialmente el formulario o informe. Sinembargo, si lo desea, puede especificar la macro como valor de otraspropiedades de un formulario. Por ejemplo, quizá deseeadjuntar la macro a un botón del formulario de manera quepueda filtrar los registros haciendo clic en este botón.

    Nota En elcaso de los informes, una macro que contiene la acciónAplicarFiltro sólo se puede especificar como valor de lapropiedad AlAbrir.

    La acciónAplicarFiltro también tiene un argumento Condicióndónde que puede usar para introducir criteriosdirectamente. Cuando la macro ejecuta la acción AplicarFiltro,aplica estos criterios al formulario o informe. El argumentoCondición dónde se describe en el siguienteprocedimiento.

    Para introducir criterios directamente en el argumento Condicióndónde

    1 Cree una macroque contenga la acción AbrirFormulario, AbrirInforme oAplicarFiltro.

    2 En el argumentoCondición dónde de esta acción,introduzca los criterios que desee usar para limitar los registros.

    Cuando ejecute lamacro, ésta abrirá el formulario o informe y aplicarálos criterios de la Condición dónde.

    Use una expresiónen el argumento Condición dónde. La expresiónen una Condición dónde generalmente limita el valor deun control del formulario o informe a un determinado rango oestablece el control como igual al valor de un control de otroformulario. Por ejemplo:

    [ID de cliente] <25

    [Proveedor] =Formularios![Nuevos proveedores]![Nombre de proveedor]

    [Fecha de pedido]Entre Formularios![Imprimir informe]![Desde fecha] YFormularios![Imprimir informe]![Hasta fecha]

    Para restringir losregistros del formulario o informe a los especificados por el valorde un control de otro formulario, utilice esta sintaxis:

    [nombreCampo]= Formularios![nombreFormulario]![nombreControl deotro formulario]

    [nombreCampo]= Informes![nombreInforme]![nombreControl de otroformulario]

    El argumentonombreCampo es el nombre de un campo de la tabla o consultasubyacente del formulario o informe al que va a aplicar el filtro. Elargumento nombreControl de otro formulario es el nombre delcontrol del otro formulario que contiene el valor con el que deseaque coincidan los registros del primer formulario o informe.

    Sugerencia: Puedecrear un cuadro de diálogo personalizado y usarlo para pedirinformación al usuario. Los valores introducidos por elusuario en el cuadro de diálogo personalizado se pueden usarcomo criterios para el argumento Condición dónde. Loscontroles "Desde fecha" y "Hasta fecha" delejemplo anterior podrían encontrarse en dicho cuadro dediálogo.

    Notas

    • Si introduce un argumento Nombre de filtro y Condición dónde en la acción AplicarFiltro, AbrirFormulario o AbrirInforme, Access aplicará la Condición dónde al filtro.
    • Para las acciones AbrirFormulario (OpenForm) y AbrirInforme (OpenReport), si en el argumento Nombre de filtro utiliza el nombre de una consulta en lugar de un filtro guardado, la consulta deberá incluir todos los campos del formulario o informe que vaya a abrir o deberá tener el valor Sí en su propiedad SalidaTodosLosCampos (OutputAllFields).
    • Para la acción AplicarFiltro (ApplyFilter), puede usar cualquier consulta o filtro en el argumento Nombre de filtro, siempre y cuando limite los registros en el formulario o informe deseado.

    Ejemplo: Usted puede encontrar los proveedores rápidamente en elformulario Proveedores si pudiera filtrar los registrosalfabéticamente, por ejemplo, si usted puede ver todos losregistros cuyos nombres de compañía comiencen con laletra "D" y entonces ir directamente a todos losproveedores cuyos nombres de compañía comiencen con"M". Para lograr esto siga los siguientes pasos:

    • Cree un grupo de opciones llamado "Filtros de compañía" en el pie del formulario Proveedores
    • Coloque un botón de alternar por cada letra del alfabeto (26), y otro botón con la etiqueta "Todas" dentro del grupo de opciones.
    • Establezca la propiedad Estilo de los bordes para el grupo de opciones a invisible, para que no se visualicen los bordes.
    • Establezca la propiedad Valor de la opción de los botones alternar desde 1 (para la letra A) hasta 26 (para el botón Z) y el valor 27 para el botón "Todos".
    • Establezca la propiedad Valor predeterminado del grupo de opción a 27 (el botón "Todos" será el botón predeterminado).
    • Seleccione el control grupo de opción y haga clic en la propiedad de evento Después de actualizar y entonces haga clic en el botón Generar para crear y adjuntar una macro que se ejecute cuando elija uno de los botones alternar en este grupo de opción.
    • Nombre la macro como Botones de filtro alfabético
    • En la ventana de macro muestre la columna condición
    • Entre la acción AplicarFiltro para cada botón en el grupo de opción excepto para el botón "Todo", para restringir los registros que se quieren mostrar. Para este ultimo botón entre la acción MostrarTodosRegistros
    • Entre una condición para cada acción que investigue que botón se seleccionó en el grupo de opción (y así, cual letra del alfabeto usted quiere usar como filtro para el nombre de la compañía)

    A continuaciónse muestra la macro Botones de filtro alfabético

    Este grupo demacros contiene un conjunto de macros, cada una de las cuales filtralos registros de un formulario Proveedores. El grupo demuestra el usode las acciones AplicarFiltro y MostrarTodosRegistros. Tambiénilustra el uso de condiciones para determinar qué botónde alternar de un grupo de opciones ha sido seleccionado en elformulario. Cada fila de acción está asociada con unbotón de alternar que a su vez selecciona el conjunto deregistros que comienza por A, B, C, etc.

     

    Subir
    Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver
    Privacidad