Создание новых объектов

Типы объектов DAO

Объекты DAO делятся на постоянные и непостоянные.

Постоянные объекты сохраняются в файлах.mdb (базы данных) или.mda (информация о группах и пользователях). К постоянным объектам относятся Database, TableDef, Index, QueryDef, Parameter, Relation, User, Group, Field для TableDef и QueryDef, Property постоянного объекта.

Непостоянные объекты уничтожаются при выходе из процедуры, в которой они созданы. К непостоянным объектам относятся все семейства, Property непостоянного объекта, DBEngine, Error, Container, Document, RecordSet и Field для RecordSet.

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

Создание новых объектов

Создание нового объекта осуществляется в 3 этапа.

  • Создание объекта методом Create.
  • Присвоение свойств.
  • Добавление объекта к семейству.

Пример
Dim db As Database, Список As TableDef
Dim Профессия As Field
Set db = DBEngine.WorkSpaces(0).Databases(0)
Set Список = db.CreateTableDef ("Список")
Set Профессия = Список.CreateField ("Профессия", Db_Text)
Список.Fields.Append Профессия
Db.TableDefs.Append Список

В примере используются объектные переменные db, Список и Профессия. Первый оператор Set создает ссылку на текущую базу данных. Она имеет порядковый номер 0 и создается автоматически. Автоматически создается и текущий сеанс работы, также имеющий порядковый номер 0. Можно создать еще несколько сеансов работы и открыть в каждом из них БД. В интерактивном режиме можно открыть только одну БД.

Второй оператор Set с помощью метода CreateTableDef объекта Database создает таблицу и присваивает ей имя "Список". Переменная Список теперь содержит ссылку на эту таблицу.

Последний оператор Set с помощью метода CreateField объекта TableDef создает поле с именем "Профессия" (первый аргумент метода) текстового типа. Тип задан константой Db_Text во втором аргументе метода.

Следующая и предпоследняя инструкция - вызов метода Append семейства Fields. Метод добавляет (включает) поле Профессия в семейство полей (Fields) таблицы Список. Последняя инструкция рассматриваемого фрагмента программы добавляет с помощью метода Append новую таблицу в семейство TableDefs таблиц.

После выполнения всех инструкций в окне БД появляется таблица Список, имеющая единственное текстовое поле Профессия. Подобным образом можно создать таблицу с произвольным количеством полей различного типа. Можно создавать базы данных методом CreateDatabase, запросы методом CreateQueryDef. Если существует набор данных типа RecordSet, перед использованием его следует открыть с помощью метода OpenRecordset.

  • DBEngine
    • WorkSpace
      • Database
        • QueryDef
        • TableDef
          • Field
          • Index
        • Recordset

DBEngine является объектом самого высокого уровня в иерархии DAO и используется для представления самого ядра Jet базы данных. DBEngine содержит семейство WorkSpaces (WorkSpace - сеанс или рабочее пространство) и метод CreateWorkspace создания рабочего пространства, а также метод CompactDatabase для уплотнения базы данных.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: