Свойство Recordset.Bookmarkable (DAO)
Область применения: Access 2013, Office 2013
Возвращает значение, которое указывает, поддерживает ли объект Recordset закладки, которые можно задать с помощью свойства Bookmark.
Синтаксис
expression . Закладка с возможностью
expression: переменная, представляющая объект Recordset.
Примечания
Проверьте параметр свойства Bookmarkable объекта Recordset, прежде чем пытаться задать или проверка свойство Bookmark.
Для объектов Recordset , полностью основанных на таблицах ядра СУБД Microsoft Access, значение свойства Bookmarkable равно True, и вы можете использовать закладки. Другие продукты базы данных, однако, могут не поддерживать закладки. Например, нельзя использовать закладки в любом объекте Recordset на основании связанной таблицы Paradox, которая не содержит основной ключ.
Пример
В этом примере используются свойства Bookmark и Bookmarkable, чтобы пользователи могли отмечать записи в Recordset и позднее возвращаться к ним.
Sub BookmarkX()
Dim dbsNorthwind As Database
Dim rstCategories As Recordset
Dim strMessage As String
Dim intCommand As Integer
Dim varBookmark As Variant
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set rstCategories = _
dbsNorthwind.OpenRecordset("Categories", _
dbOpenSnapshot)
With rstCategories
If .Bookmarkable = False Then
Debug.Print "Recordset is not Bookmarkable!"
Else
' Populate Recordset.
.MoveLast
.MoveFirst
Do While True
' Show information about current record and get
' user input.
strMessage = "Category: " & !CategoryName & _
" (record " & (.AbsolutePosition + 1) & _
" of " & .RecordCount & ")" & vbCr & _
"Enter command:" & vbCr & _
"[1 - next / 2 - previous /" & vbCr & _
"3 - set bookmark / 4 - go to bookmark]"
intCommand = Val(InputBox(strMessage))
Select Case intCommand
' Move forward or backward, trapping for BOF
' or EOF.
Case 1
.MoveNext
If .EOF Then .MoveLast
Case 2
.MovePrevious
If .BOF Then .MoveFirst
' Store the bookmark of the current record.
Case 3
varBookmark = .Bookmark
' Go to the record indicated by the stored
' bookmark.
Case 4
If IsEmpty(varBookmark) Then
MsgBox "No Bookmark set!"
Else
.Bookmark = varBookmark
End If
Case Else
Exit Do
End Select
Loop
End If
.Close
End With
dbsNorthwind.Close
End Sub