Partager via


Utilisation de signets

Il est souvent utile de revenir directement à un enregistrement spécifique après avoir été déplacé dans le jeu d’enregistrements sans avoir à parcourir chaque enregistrement et comparer les valeurs. Par exemple, si vous tentez de rechercher un enregistrement à l’aide de la méthode Find, mais que la recherche ne retourne aucun enregistrement, vous êtes automatiquement placé à la fin du jeu d’enregistrements . Si votre fournisseur les prend en charge, les signets peuvent être utilisés pour marquer votre place avant d’utiliser la méthode Find afin de pouvoir revenir à votre emplacement. Un signet est une valeur de type Variant qui identifie de manière unique un enregistrement dans un objet Recordset.

Vous pouvez également utiliser un tableau de variantes de signets avec la méthode Recordset Filter pour filtrer sur un ensemble d’enregistrements sélectionné. Pour plus d’informations sur cette technique, consultez Filtrage des résultats dans la rubrique Utilisation des jeux d’enregistrements, plus loin dans cette même section.

Vous pouvez utiliser la propriété Bookmark pour obtenir un signet pour un enregistrement ou définir l’enregistrement actif dans un objet Recordset à l’enregistrement identifié par un signet valide. Le code suivant utilise la propriété Bookmark pour définir un signet, puis revenir à l'enregistrement marqué après être passé à d'autres enregistrements. Pour déterminer si votre jeu d’enregistrements prend en charge les signets, utilisez la méthode 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  

La méthode Supports est abordée plus en détail plus loin.

À l’exception du cas de jeux d’enregistrements clonés , les signets sont uniques au jeu d’enregistrements dans lequel ils ont été créés, même si la même commande est utilisée. Cela signifie que vous ne pouvez pas utiliser un signet obtenu à partir d’un jeu d’enregistrements pour accéder au même enregistrement dans un deuxième jeu d’enregistrements ouvert avec la même commande.