Поделиться через


Использование закладок

Область применения: Access 2013, Office 2013

Часто бывает полезно вернуться непосредственно к определенной записи после перемещения по набору записей без необходимости прокручивать каждую запись и сравнивать значения. Например, если вы пытаетесь найти запись с помощью метода Find , но поиск не возвращает записи, вы автоматически помещаетсяе на любой конец набора записей. Если ваш поставщик поддерживает их, закладки можно использовать для пометки вашего места перед использованием метода Find , чтобы вы могли вернуться в свое расположение. Закладка — это значение типа Variant , которое однозначно идентифицирует запись в объекте Recordset .

Для фильтрации по выбранному набору записей можно также использовать переменный массив закладок с помощью метода Фильтра набора записей. Дополнительные сведения об этом методе см. в разделе Фильтрация результатов в разделе Работа с наборами записей далее в этой главе.

С помощью свойства Bookmark можно получить закладку для записи или задать текущую запись в объекте Recordset запись, определяемую допустимой закладкой. Следующий код использует свойство Bookmark для установки закладки, а затем возврата к записи с закладкой после перехода к другим записям. Чтобы определить, поддерживает ли набор записей закладки, используйте метод 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 рассматривается более подробно позже.

За исключением клонированных наборов записей, закладки являются уникальными для набора записей , в котором они были созданы, даже если используется та же команда. Это означает, что вы не можете использовать закладку , полученную из одного набора записей , для перехода к той же записи во втором наборе записей, открытом с помощью той же команды.