Access. Программирование на VBA

   Интернет магазин стройматериалов в Москве. |     

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


Для возврата к предыдущей записи рекомендуется пользоваться закладками. Закладки представляют собой исключительно быстрый способ передвижения по записям в интерфейсе. Следует помнить, что существует два различных вида закладок: один — для форм, а другой — для наборов записей. Закладка формы представляет собой массив переменных, динамически присваиваемых каждой записи в базовой копии набора записей. Закладка DAO — это байтовый массив, идентифицирующий каждую запись в наборе записей. Закладки являются удобными средствами навигации, они разрушаются и воссоздаются вместе с наборами записей и копиями. Не следует на них полагаться, за исключением полностью контролируемых или простых ситуаций. Закладки не представляют собой записи и не имеют никакого отношения к началь­ному значению. Они представляют только временное положение записи в наборе строк. Любая манипуляция с данными должна проводиться с учетом методик разработки реляционной базы данных, а не с учетом текущего положения в наборе записей или копии. Поскольку разработчик должен всегда пользоваться методом повторного запроса после обновлений и удалений, он каждый раз разрушает и воссоздаст зак­ладки. Если интерфейс использует закладки в таких обстоятельствах, необходимо тщательно отслеживать удаления и обновления.

Приведенный ниже код может использовать закладку формы для возврата к предыдущей записи пос­ле обновления:

Private Sub Findit_AfterUpdate()

Dim redone As Recordset

Dim recordID As Variant

Dim IDValue As Long

Set rsclone = Me.RecordsetClone

IDValue = Me![Findit]

recordID = "ID = " & IDValue

rsclone.FindFirst recorded

cm = rsclone.Bookmark

Me.Bookmark = bm

End Sub

Использование закладки для возврата к предыдущей записи позволяет ускорить выполнение на 1300% по сравнению с использованием FindFirst

для решения той же задачи.



Содержание раздела