使用書籤
書籤通常有利於在 Recordset 中移動之後直接返回特定記錄,而無須捲動每個記錄並比較值。 例如,如果您嘗試使用 Find 方法搜尋記錄,但搜尋未傳回記錄,系統會自動將您置於 Recordset 任一端。 如果您的提供者支援書籤,則書籤可用來在使用 Find 方法之前標記您的位置,以便可返回您的位置。 書籤是 Variant 類型值,可唯一識別 Recordset 物件中的記錄。
您也可搭配使用書籤的變體陣列和 Recordset Filter 方法來篩選所選的記錄集合。 如需有關此技術的詳細資訊,請參閱使用 Recordsets 主題中本節後面的「篩選結果」。
您可使用 Bookmark 屬性來取得記錄的書籤,或將 Recordset 物件中的目前記錄設定為有效書籤所識別的記錄。 下列程式碼會使用 Bookmark 屬性來設定書籤,然後在移至其他記錄之後返回加上書籤的記錄。 若要判斷您的 Recordset 是否支援書籤,請使用 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
Supports 方法會於稍後詳細說明。
除了複製的 Recordsets 情況之外,書籤專屬於所建立的 Recordset,即使使用相同的命令亦是如此。 這表示您無法使用從一個 Recordset 取得的 Bookmark,移至使用相同命令所開啟第二個 Recordset 中的相同記錄。