Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Access 2013, Office 2013
Il est souvent utile de pouvoir revenir directement à un enregistrement spécifique après vous être déplacé dans l'objet Recordset, sans devoir faire défiler tous les enregistrements et comparer leurs valeurs. Si, par exemple, vous recherchez un enregistrement à l'aide de la méthode Find mais que la recherche ne renvoie aucun enregistrement, vous revenez automatiquement à l'une des deux extrémités de l'objet Recordset. Si votre fournisseur les prend en charge, des signets peuvent être utilisés pour marquer votre position avant d'utiliser la méthode Find, afin de pouvoir revenir à votre emplacement d'origine. Un signet est une valeur de type Variant qui permet l'identification individuelle des enregistrements dans un objet Recordset.
Vous pouvez également utiliser un tableau variant de signets avec la méthode RecordsetFilter pour filtrer sur un jeu d’enregistrements sélectionné. Pour plus d'informations sur cette technique, consultez la section Filtrage des résultats dans la rubrique Utilisation des jeux d'enregistrements, plus loin dans ce chapitre.
Vous pouvez utiliser la propriété Bookmark afin d'obtenir un signet pour un enregistrement ou définir l'enregistrement actif d'un objet Recordset en tant qu'enregistrement identifié par un signet valide . Le code suivant utilise la propriété Bookmark pour définir un signet et revenir ensuite à l'enregistrement marqué par le signet, après avoir accédé à d'autres enregistrements. Pour déterminer si votre objet Recordset 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 sera décrite plus en détail ultérieurement.
À l'exception des objets Recordset clonés, les signets sont spécifiques à l'objet Recordset dans lequel ils ont été créés, même en cas d'utilisation de la même commande. En d'autres termes, vous ne pouvez pas utiliser un objet Bookmark provenant d'un objet Recordset donné pour accéder au même enregistrement dans un second objet Recordset ouvert avec la même commande.