Применение объекта Recordset
Объекты Recordset представляют собой наборы записей, являющихся результа-гом выполнения запроса или инструкции SQL на выборку данных, или просто все записи в таблице. В объектной модели DAO существует 5 типов объектов Recordset, достаточно сильно отличающихся друг от друга. Поэтому, когда вы применяете этот объект в своих программах, нужно точно знать, какого он типа, так же, как полезно знать, в каких случаях используется тот или иной тип. Опишем эти 5 типов объектов.
1. Таблица. Этот тип объекта Recordset может быть создан только на основе локальной таблицы Access. Он содержит все записи этой таблицы. Открытие данного объекта в программе VBA аналогично открытию таблицы в режиме Таблица. Поскольку все записи таблицы загружаются в оперативную память, преимуществом такого типа объекта Recordset является возможность быстрого поиска нужной записи. Вы можете свободно изменять значения полей в записях этого объекта, а также добавлять и удалять записи.
2. Статический набор записей. Данный тип объекта представляет собой набор записей, который создается на основе таблицы, в том числе и присоединенной, запроса или инструкции SQL Однако этот набор записей является неизменяемым, вы сможете обеспечить только просмотр данных. Он представляет собой «мгновенный снимок» данных, полученный в момент создания такого объекта. Все записи этого объекта также загружаются в оперативную память, и если данные в исходных таблицах меняются, эти изменения не отражаются в объекте Recordset. Обычно статический тип объекта Recordset, как и табличный тип, используется для работы с небольшим числом записей, когда нужно только просматривать данные.
3. Статический набор записей с последовательным доступом. Данный тип объекта аналогичен статическому набору записей во всем, кроме того, что он позволяет просматривать записи набора только вперед, то есть один раз.
4. Динамический набор записей. Как и набор записей статического типа, этот тип объекта может быть создан на основе таблицы, запроса или инструкции SQL, однако он является изменяемым и обновляемым — записи исходных таблиц (иногда не все поля) можно редактировать, добавлять и удалять. Кроме того, он отображает изменения значений в полях в исходных таблицах (но не отображает добавление и удаление записей), сделанные другими пользователями. Это наиболее широко используемый тип объекта Recordset.
5. Динамический. Этот тип объекта очень похож на динамический набор записей. Отличие заключается в том, что он отображает все изменения, сделанные другим пользователем после того, как этот объект был создан, в том числе добавленные и удаленные записи. Объект Recordset данного типа используется только в рабочей области ODBCDirect.
Чтобы создать объект Recordset, используется метод Open Recordset. Причем этот метод имеет несколько объектов: Database, TableDef, QueryDef, Connection (в рабочей области ODBCDirect), другой объект Recordset. Синтаксис метода следующий: для объектов Database и Connection:
Set <переменная> = <o6beKi>.OpenRecordset (<источник>, [<типОбъекта>], [<параметры>], [<типБлокировки>]), для объектов TableDef, QueryDef, Recordset:
Set <переменная> = <o6beKT>.OpenRecordset ([<типОбъекта>], [<параметры>], [<типБлокировки>]).
В первом случае обязательно требуется указать источник записей — имя таблицы или запроса либо просто инструкцию SQL. Во втором случае источник записей определяется самим объектом.
Аргумент <типОбъекта> определяет тип объекта Recordset, который будет создан. Всего существует 5 констант, соответствующих всем перечисленным типам объекта:
· dbOpenTable — таблица; о dbOpenSnapshot — статический набор записей;
· dbOpenForwardOnly — статический набор записей с последовательным доступом;
· dbOpenDynaset — динамический набор записей;
· dbOpenDynamic — динамический.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.