Verwenden von Textmarken
Es ist häufig hilfreich, direkt zu einem bestimmten Datensatz zurückzukehren, nachdem es im Recordset verschoben wurde, ohne durch jeden Datensatz scrollen und Werte vergleichen zu müssen. Wenn Sie beispielsweise versuchen, mithilfe der Find-Methode nach einem Datensatz zu suchen, aber die Suche keine Datensätze zurückgibt, werden Sie automatisch am Ende des Recordsetplatziert. Wenn Ihr Anbieter sie unterstützt, können Lesezeichen verwendet werden, um Ihre Position zu markieren, bevor Sie die Find-Methode verwenden, damit Sie zu Ihrem Standort zurückkehren können. Eine Textmarke ist ein Variant Typwert, der einen Datensatz in einem Recordset--Objekt eindeutig identifiziert.
Sie können auch ein Variantenarray von Lesezeichen mit der Recordset Filter Methode verwenden, um nach einer ausgewählten Gruppe von Datensätzen zu filtern. Ausführliche Informationen zu dieser Technik finden Sie unter Filtern der Ergebnisse im Thema Arbeiten mit Recordsetsweiter unten in diesem Abschnitt.
Sie können die Bookmark-Eigenschaft verwenden, um eine Textmarke für einen Datensatz abzurufen, oder den aktuellen Datensatz in einem Recordset-Objekt auf den Datensatz festlegen, der durch eine gültige Textmarke identifiziert wird. Der folgende Code verwendet die Bookmark-Eigenschaft, um eine Textmarke festzulegen und dann nach dem Wechseln zu anderen Datensätzen zum textmarkenierten Datensatz zurückzukehren. Um festzustellen, ob das Recordset Lesezeichen unterstützt, verwenden Sie die Supports-Methode.
'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
Die Supports-Methode wird später ausführlicher behandelt.
Mit Ausnahme geklonter Recordsetssind Lesezeichen einzigartig für das Recordset, in dem sie erstellt wurden, selbst wenn derselbe Befehl verwendet wird. Dies bedeutet, dass Sie kein Lesezeichen verwenden können, das von einem Recordset abgerufen wurde, um im zweiten Recordset mit demselben Befehl zum gleichen Datensatz zu navigieren.