Cambiar el filtro o el criterio de ordenación de un formulario o informe

Una vez abierto un formulario o informe, puede cambiar el filtro o el criterio de ordenación en respuesta a las acciones de los usuarios estableciendo las propiedades de formulario e informe en el código de Visual Basic para Aplicaciones (VBA). Por ejemplo, puede que necesite proporcionar a los usuarios un botón o un menú contextual que les permita cambiar los registros que se muestran. O puede incluir en un formulario un control de grupo de opciones que permita a los usuarios seleccionar entre las opciones de ordenación más comunes.

Para establecer el filtro de un formulario o informe, establezca su propiedad Filter en el argumento wherecondition correspondiente y, a continuación, establezca la propiedad FilterOn en True. Para establecer el criterio de ordenación, establezca la propiedad OrderBy en el campo o los campos en que desea basar el orden y, a continuación, establezca la propiedad OrderByOn en el valor True. Si ya se ha aplicado un filtro o un criterio de ordenación al formulario, puede cambiarlo simplemente estableciendo las propiedades Filter u OrderBy.

Cuando se aplica o se cambia el filtro o el criterio de ordenación estableciendo estas propiedades, Access requiere automáticamente los registros del formulario o informe. Por ejemplo, el código siguiente cambia el criterio de ordenación de un formulario basándose en la opción seleccionada por el usuario entre un grupo de opciones:

Private Sub SortOptionGrp_AfterUpdate() 
 
 Const conName = 0 
 Const conDate = 1 
 
On Error GoTo ErrorHandler 
 
 Select Case SortOptionGrp 
 Case conName 
 Me.OrderBy = "LastName, FirstName" ' Sort by two fields. 
 Case conDate 
 Me.OrderBy = "HireDate DESC" ' Sort by descending date. 
 End Select 
 
 Me.OrderByOn = True ' Apply the sort order. 
 
 Exit Sub 
 
ErrorHandler: 
 MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description 
End Sub

Independientemente de si el filtro y el criterio de ordenación se establecen en el código o los establece el usuario, siempre puede aplicarlos o quitarlos estableciendo las propiedades FilterOn y OrderByOn en los valores True o False.

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.