26.12.2014 Views

Управление базами данных Access на VBA - eDrive

Управление базами данных Access на VBA - eDrive

Управление базами данных Access на VBA - eDrive

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5<br />

Процедурное и структурное программирование в DAO<br />

В общем случае доступ к данным библиотек DAO организуется в три<br />

этапа. С<strong>на</strong>чала создается объект методом Create… его родителя. Затем<br />

уста<strong>на</strong>вливаются его свойства, которые после сохранения объекта в базе<br />

<strong>данных</strong> останутся доступными только для чтения. В ряде случаев, кроме<br />

свойств, сразу же задаются и объекты-потомки, <strong>на</strong>пример, поля таблиц. В<br />

заключение объект добавляется в состав семейства методом Append этого<br />

семейства и сохраняется в памяти. Отдельные классы объектов создаются по<br />

упрощенной схеме.<br />

Сеанс доступа к данным модели DAO описывает класс Workspace. Все<br />

действия в рамках сеанса определены правилами доступа пользователя, а их<br />

последовательность — транзакция — рассматривается как одно целое. В<br />

незащищенных базах <strong>данных</strong> открывается сеанс по умолчанию под именем<br />

Default Workspace для пользователя admin без пароля. При создании нового<br />

сеанса Workspace<br />

DBEngine!CreateWorkspace _<br />

(имяРабочейОбласти, Пользователь, Пароль [, Тип])<br />

его не добавляют в семейство ввиду временного характера его<br />

существования.<br />

Метод CreateDatabase используют для создания новых баз <strong>данных</strong>:<br />

[рабочаяОбласть].CreateDatabase (имяБазыДанных, _<br />

Язык, [Параметры] )<br />

Здесь ранее создан<strong>на</strong>я рабочаяОбласть служит ссылкой <strong>на</strong> объект<br />

Workspace, имяБазыДанных длиной до 255 символов представляет короткий<br />

или полный путь к файлу .MDB, Язык задается з<strong>на</strong>чением констант<br />

dbLangGeneral, dbLangCirillic, определяя порядок сортировки <strong>данных</strong>, а<br />

необязательные Параметры задают формат ядра Jet и необходимость<br />

шифрования. Базы <strong>данных</strong> автоматически добавляются в соответствующие<br />

семейства и сохраняются.<br />

Для открытия базы <strong>данных</strong> используется метод OpenDatabase:<br />

[базаДанных.] [рабочаяОбласть.]OpenDatabase (имяБазыДанных _<br />

[, Монопольность [, толькоЧтение[, Источник]]] )<br />

Если база <strong>данных</strong> уже открыта, к ней удобно обращаться через функцию<br />

CurrentDb:<br />

• CurrentDB!имяТаблицы!имяПоля.имяСвойства

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!