책갈피 사용
모든 레코드를 스크롤하여 값을 비교할 필요 없이 Recordset에서 이동한 후 특정 레코드로 직접 반환하는 것이 유용한 경우가 많습니다. 예를 들어 Find 메서드를 사용하여 레코드를 검색하려고 하지만 검색에서 레코드를 반환하지 않으면 Recordset의 양쪽 끝에 자동으로 배치됩니다. 공급자가 지원하는 경우 Find 메서드를 사용하기 전에 책갈피를 사용하여 위치를 표시할 수 있으므로 위치로 돌아갈 수 있습니다. 책갈피는 Recordset 개체의 레코드를 고유하게 식별하는 Variant 형식 값입니다.
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 메서드는 나중에 자세히 설명합니다.
복제된 Recordset의 경우를 제외하고 책갈피는 동일한 명령을 사용하는 경우에도 만든 Recordset에 고유합니다. 즉, 한 Recordset에서 가져온 Bookmark를 사용하여 동일한 명령을 사용하여 연 두 번째 Recordset에서 동일한 레코드로 이동할 수 없습니다.