Método DoCmd.ApplyFilter (Access)
El método ApplyFilter lleva a cabo la acción ApplyFilter en Visual Basic.
Sintaxis
expresión. ApplyFilter (FilterName, WhereCondition, ControlName)
expresión Variable que representa un objeto DoCmd.
Parámetros
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
FilterName | Opcional | Variant | Expresión de cadena que es el nombre válido de un filtro o una consulta en la base de datos activa. Cuando se usa este método para aplicar un filtro de servidor, el argumento FilterName debe estar en blanco. |
CondiciónWhere | Opcional | Variant | Expresión de cadena que es una cláusula WHERE de SQL válida sin la palabra WHERE. |
ControlName | Opcional | Variant |
Comentarios
Use la acción ApplyFilter para aplicar un filtro, una consulta o una cláusula WHERE de SQL a una tabla, formulario o informe para restringir o 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 una macro especificada por la propiedad del evento OnOpen del informe.
Use esta acción para aplicar una cláusula WHERE de SQL solo al aplicar un filtro de servidor. Un filtro de servidor no se puede aplicar a una fuente de registros de un procedimiento almacenado.
Nota:
Use el argumento FilterName si ya ha definido un filtro que proporciona los datos adecuados. Use el argumento WhereCondition para especificar los criterios de restricción directamente. Si utiliza ambos argumentos, Microsoft Access aplicará la cláusula WHERE a los resultados del filtro. En necesario utilizar uno o los dos argumentos.
Puede aplicar un filtro o una consulta a un formulario de la vista Formulario o la vista Hoja de datos.
El filtro y la condición WHERE que se aplican se convierten en la configuración de la propiedad Filter del formulario o de la propiedad ServerFilter del informe.
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 guardarlo).
Si desea aplicar un filtro automáticamente la primera vez que se abre un formulario, especifique una macro que contenga la acción ApplyFilter o un procedimiento de evento que contenga el método ApplyFilter del objeto DoCmd como configuración de la propiedad de evento OnOpen del formulario. También puede aplicar un filtro usando la acción OpenForm u OpenReport o bien sus métodos correspondientes. Para aplicar un filtro automáticamente cuando se abre una tabla por primera vez, puede abrir la tabla usando una macro que contenga la acción OpenTable, seguida inmediatamente por la acción ApplyFilter.
Deberá incluir al menos uno de los dos argumentos del método ApplyFilter. Si especifica un valor para ambos argumentos, el argumento WhereCondition se aplicará al filtro.
La longitud máxima del argumento WhereCondition es de 32 768 caracteres (a diferencia del argumento de acción WhereCondition en la ventana Macro, cuya longitud máxima es de 256 caracteres).
Ejemplo
En el ejemplo siguiente se usa el método ApplyFilter para mostrar solo los registros que contienen el nombre "King" en el campo LastName .
DoCmd.ApplyFilter , "LastName = 'King'"
En el ejemplo siguiente se muestra cómo usar la propiedad ApplyFilter para filtrar los registros que se muestran cuando se elige un botón de alternancia denominado tglFilter .
Private Sub tglFilter_Click()
With tglFilter
If .Value = True Then
.Caption = "P/T"
.StatusBarText = "only full-timers"
DoCmd.ApplyFilter , "[Hours]=40"
ElseIf .Value = False Then
.Caption = "All"
.StatusBarText = "only part-timers"
DoCmd.ApplyFilter , "[Hours]<40"
Else
.Caption = "F/T"
.StatusBarText = "all employees"
DoCmd.ShowAllRecords
.SetFocus 'to activate the button's statusbar-text
End If
End With
End Sub
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.