Compartilhar via


Usar indicadores

Geralmente, é útil retornar diretamente para um registro específico depois de ter movido no Recordset sem precisar rolar por cada registro e comparar valores. Por exemplo, se você tentar pesquisar um registro usando o método Find, 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 indicadores poderão ser usados para marcar seu local antes de usar o método Find, para que você possa retornar ao seu local. Um indicador é um valor de tipo Variant que identifica exclusivamente um registro em um objeto Recordset.

Você também pode usar uma matriz variante de indicadores com o método Recordset Filter para filtrar em um conjunto de registros selecionado. Para obter detalhes sobre essa técnica, consulte Filtrar os resultados no tópico, Trabalhar com Recordsets, mais adiante nesta seção.

Você pode usar a propriedade Bookmark para obter um indicador de 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 indicador e, em seguida, retornar ao registro marcado depois de passar para outros registros. Para determinar se o Recordset 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  

Posteriormente, o método Supports é abordado de forma mais detalhada.

Exceto para o caso de Recordsets clonados, os indicadores são exclusivos do Recordset no qual foram criados, ainda que o mesmo comando seja usado. Isso significa que você não pode usar um Bookmark obtido de um Recordset para mover para o mesmo registro em um segundo Recordset aberto com o mesmo comando.