Лекция: Создание новых объектов
Создание нового объекта осуществляется в 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 для уплотнения базы данных.