使用書籤
在 Recordset 中移動之後,直接返回特定記錄通常很有用,而不需要捲動每個記錄並比較值。 例如,如果您嘗試使用 Find 方法來搜尋記錄,但搜尋不會傳回任何記錄,則會自動放置在 Recordset的任一端。 如果您的提供者支援書籤,則書籤可用來標記您的位置,再使用 Find 方法,以便返回您的位置。 書籤是 Variant 類型值,可唯一識別 Recordset 物件中的記錄。
您可以使用書籤的變化陣列,搭配 Recordset Filter 方法,來篩選特定的一組記錄。 如需這項技術的詳細資訊,請參閱本節稍後的主題中的
您可以使用 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 並移動至相同的記錄。