Usando Favoritos
Geralmente, é útil retornar diretamente a um registro específico depois de ter se movido no conjunto de registros sem precisar rolar todos os registros e comparar valores. Por exemplo, se você tentar pesquisar um registro usando o método Localizar, mas a pesquisa não retornar registros, você será colocado automaticamente em uma das extremidades do Recordset. Se o provedor der suporte a eles, os marcadores poderão ser usados para marcar seu lugar antes de usar o método Localizar para que você possa retornar ao seu ponto. Um marcador é um valor de tipo Variant que identifica exclusivamente um registro em um objeto Recordset .
Você também pode usar uma matriz variante de favoritos com o método filtro de conjunto de registros para filtrar em um conjunto de registros selecionado. Para obter detalhes sobre essa técnica, consulte Filtrando os resultados no tópico, Trabalhando com conjuntos de registros, mais adiante nesta seção.
Você pode usar a propriedade Bookmark para obter um indicador para um registro ou definir o registro atual em um objeto Recordset para o registro identificado por um indicador válido. O código a seguir usa a propriedade Bookmark para definir um marcador e, em seguida, retornar ao registro marcado após navegar por outros registros. Para determinar se o do conjunto de registros dá suporte a indicadores, use o 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
O método Suporta é abordado com mais detalhes posteriormente.
Com exceção do caso de de conjuntos de registrosclonados, os indicadores são exclusivos do conjunto de registros em que foram criados, mesmo que o mesmo comando seja usado. Isso significa que você não pode usar um bookmark obtido de um conjunto de registros para mover para o mesmo registro em um segundo recordset aberto com o mesmo comando.