Управление базами данных Access на VBA - eDrive
Управление базами данных Access на VBA - eDrive
Управление базами данных Access на VBA - eDrive
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
7<br />
• Parent!имяПоляГлавнойФормы<br />
Ни TableDef, ни QueryDef не содержат <strong>данных</strong>. Для доступа к данным<br />
нужны <strong>на</strong>боры записей — объекты RecordSet. В модели DAO присутствуют<br />
четыре типа таких объектов. Тип Table представляет <strong>на</strong>бор записей одной<br />
таблицы открытого файла базы <strong>данных</strong>. Он не обрабатывает связанные<br />
таблицы и таблицы ODBC и обслуживает только рабочие области Jet. Тип<br />
Dynaset представляет ди<strong>на</strong>мический <strong>на</strong>бор записей таблицы открытой базы<br />
<strong>данных</strong>, связанной таблицы, результата выполнения запроса или оператора<br />
SQL SELECT. Он состоит из ссылок, поэтому обрабатывается медленнее,<br />
чем Table и иногда не обновляется, но охватывает более широкую область<br />
<strong>данных</strong>. Тип Snapshot представляет статическую копию таблицы, запроса или<br />
оператора SQL SELECT, удобную для выборки <strong>данных</strong> и создания отчетов.<br />
Forward-Only представляет а<strong>на</strong>логичную копию, пред<strong>на</strong>з<strong>на</strong>ченную для<br />
единовременного просмотра <strong>данных</strong>. Синтаксис:<br />
базаДанных.OpenRecordSet (Источник [,Тип, Параметры, Блокировка])<br />
Здесь Источник — это строка с именем таблицы, запроса или текстом SQL,<br />
далее следует тип объекта RecordSet, по умолчанию Table для таблиц и<br />
Dynaset для запросов и связанных таблиц. Любой объект RecordSet<br />
существует только в рамках своей процедуры, а затем уничтожается. Его<br />
можно закрыть раньше методом Close.<br />
Примеры<br />
Sub РабочаяОбласть ()<br />
Set область = DBEngine.Workspaces (0)<br />
Set новаяБазаДанных = _<br />
область.CreateDatabase ("Школьники.mdb", dbLangGeneral)<br />
Set другаяБазаДанных = _<br />
область.OpenDatabase ("Транспорт")<br />
MsgBox другаяБазаДанных.Name & Chr (13) & _<br />
новаяБазаДанных.Name & Chr (13) & CurrentDb.Name<br />
End Sub<br />
Sub БазыДанных ()<br />
Set текущаяБазаДанных = CurrentDb<br />
Set новаяБазаДанных = CreateDatabase ("Студенты.mdb", dbLangCyrillic)<br />
Set другаяБазаДанных = OpenDatabase ("Пользователи.mdb")<br />
MsgBox другаяБазаДанных.Name & Chr (13) & _<br />
новаяБазаДанных.Name & Chr (13) & текущаяБазаДанных.Name<br />
End Sub<br />
Sub НаборыЗаписейDAO ()<br />
Set tdf1 = CurrentDb.OpenRecordset ("Сотрудники", dbOpenDynaset)<br />
Set tdf2 = CurrentDb.OpenRecordset ("Категории")