Access 2002

Копия набора записей формы


В таких случаях можно создать копию набора записей формы и выполнить необходимые операции по отношению к этой копии. Вот для такой работы и предназначено свойство формы RecordsetClone. Оно возвращает ссылку на набор записей, который идентичен набору записей формы, но имеет свою текущую строку и свою закладку. По нему можно свободно перемещаться, что не будет отражаться в форме. Пользователь будет видеть одну запись, а вы в это время сможете работать с какой-нибудь другой или просматривать набор записей в поиске нужных данных.

7.5 приведен пример применения свойства RecordsetClone. Это процедура обработки события AfterUpdate поля со списком из формы frmLookup,  7.7. Процедура находит в наборе записей выбранное пользователем имя компании и выводит в форме сведения о ней. Для этого она пользуется свойством Bookmark объекта Recordset. Получив копию набора записей формы и найдя в

ней нужную запись, процедура присваивает значение закладки из этой копии закладке набора записей формы, что вызывает переход к найденной строке.

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

Обычно, если у вас есть два набора записей, поддерживающих закладки, их закладки несовместимы (нельзя сравнивать их или использовать значение закладки из одного набора записей в другом). В отличие от метода done объекта Recordset (см. главу 5), свойство формы RecordsetClone возвращает не клон, а копию набора записей. Однако закладки этой копии совместимы с закладками исходного набора записей. Именно это делает свойство RecordsetClone исключительно полезным инструментом для работы с данными форм. В частности, благодаря совместимости закладок вам ничего не стоит вывести в форме ту запись, которая является текущей в рабочем наборе записей, полученном с помощью свойства Recordsetdone.

Комментарии закрыты