Изменение Базы данных

Можно добавить к базе данных новые объекты TableDef или добавить к существующим таблицам новые объекты Field и Index. Можно также удалить объект TableDef из базы или удалить объект Index из TableDef. Есть несколько ограничений на удаление объекта Field

Добавление таблицы к базе данных

Чтобы добавить новую таблицу к базе данных, нужно просто включить в существующую коллекцию TableDefs новый объект TableDef.

Пример:

Dim db as Database

Dim NewTd as TableDef

Dim NewFld as Field

Set db = DBEngine.Workspaces(0).OpenDatabase("Test.mdb")

Set NewTd = db.CreateTableDef("new_table")

Set NewFld = NewTd.CreateField("new_fld", dbInteger)

NewTd.Fields.Append NewFld

db.TableDefs.Append NewTd

db.Close

Удаление таблицы

Для удаления таблицы используется метод Delete коллекции TableDefs. При удалении таблицы уничтожаются все данные хранящиеся в таблице, поля, индексы, поэтому необходимо быть очень внимательными перед тем как выполнять удаление.

db.TableDefs.Delete "Authors"

Добавление поля к таблице

Чтобы добавить поле к существующей таблице его необходимо присоединить к коллекции Fields

Dim db as Database

Dim Td as TableDef

Dim Fld as Field

Set db = DBEngine.Workspaces(0).OpenDatabase("C:\proba.mdb")

Set Td = db.TableDefs("stud")

'Создаем новый объект поля

Set Fld = Td.CreateField("Address",dbText,40)

'присоединяем созданный объект к коллекции

Td.Fields.Append Fld

'Используем переменную Fld для создания еще одного объекта поля

Set.Fld = Td.CreateField("Phone",dbText,25)

Td.Fields.Append Fld

db.Close

Изменение или удаление поля

После включения в коллекцию TableDef отдельное поле не может быть изменено, удалить отдельное поле можно только в том случае, если оно не является частью объектов Index или Relation

Чтобы удалить поле, можно использовать метод Delete объекта TableDef. Для изменения отдельного поля нужно добавить отдельный объект TableDef, имеющий требуемые изменения в поле, затем переместить данные в новую таблицу, и после этого удалить старую.

Добавление индекса

Чтобы добавить индекс используется метод Append

Dim db as Database, Td as TableDef, NewIdx as Index, NewFld as Field

Set db = DBEngine.Workcpace(0).OpenDatabase("MyBase.mdb")

Set Td=db.TableDefs("stud")

Set NewIdx = Td.CreateIndex("fio_stud_index")

NewIdx.Unique = False

Set NewFld = NewIdx.CreateField("fio_stud")

NewIdx.Fields.Append NewFld

Td.Indexes.Append NewIdx

db.Close


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



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