Uso de marcadores
Se aplica a: Access 2013, Office 2013
A menudo, es útil volver directamente a un registro específico después de haberse movido por el conjunto de registros sin tener que desplazarse por cada registro y comparar valores. Por ejemplo, si se intenta buscar un registro mediante el método Find pero la búsqueda no devuelve ningún registro, se le lleva automáticamente a cualquier extremo del conjunto de registros. Si su proveedor los admite, se pueden utilizar marcadores para marcar la ubicación propia antes de utilizar el método Find, para poder regresar a esa ubicación. Un marcador es un valor de tipo Variant que identifica un registro de un conjunto de registros de forma exclusiva.
También puede usar una matriz variante de marcadores con el métodoRecordset Filter para filtrar por un conjunto de registros seleccionado. Para obtener detalles acerca de esta técnica, vea Filtrar los resultados en el tema Trabajar con objetos Recordset, más adelante en este capítulo.
Se puede utilizar la propiedad Bookmark para obtener un marcador para un registro, o establecer el registro activo de un objeto Recordset en el registro identificado por un marcador válido. El código siguiente utiliza la propiedad Bookmark para establecer un marcador y, posteriormente, volver al registro del marcador después de moverse por otros registros. Para determinar si un conjunto de registros admite marcadores, use el método Supports.
'BeginBookmarkEg
Dim varBookmark As Variant
Dim blnCanBkmrk As Boolean
objRs.Open strSQL, strConnStr, adOpenStatic, adLockOptimistic, adCmdText
If objRs.RecordCount > 4 Then
objRs.Move 4 ' move to the fifth record
blnCanBkmrk = objRs.Supports(adBookmark)
If blnCanBkmrk = True Then
varBookmark = objRs.Bookmark ' record the bookmark
objRs.MoveLast ' move to a different record
objRs.Bookmark = varBookmark ' return to the bookmarked (sixth) record
End If
End If
'EndBookmarkEg
El método Supports se describe posteriormente con más detalle.
Excepto en el caso de conjuntos de registros clonados, los marcadores son únicos para el conjunto de registros en el que se crearon, incluso si se utiliza el mismo comando. Esto significa que no se puede utilizar un marcador obtenido de un conjunto de registros para moverse al mismo registro en un segundo conjunto de registros abierto con el mismo comando.