Настольная СУБД Access 2002




Программа 16.5. Изменение структуры...



Программа 16.5. Изменение структуры таблицы с помощью интерфейса DАО

Dim db As Database

Dim fieldSize As Long, i As Long

Dim strSQL As String

Dim fid As Field

' Узнаем линейный размер игрового поля, выраженный в клетках

fieldSize = CLng(get_parameter("РазмерПоля"))

' Открываем базу данных, в которой хранится нужная таблица

Set db = OpenDatabase(CurrentProject.Path & "\DominationGame.mdb")

' Удалить старые записи в таблице "ПолеИгрок"

StrSQL = "DELETE * FROM ПолеИгрок;" db.Execute strSQL

' Удалить старые поля в таблице "ПолеИгрок"

For i = 1 То db.TableDefs("ПолеИгрок").Fields.Count

db.TableDefs("ПолеИгрок").Fields.Delete

get_column_name(i) Next i

' 'Создать новые поля в таблице "ПолеИгрок"

For i = 1 То fieldSize

Set fid = db.TableDefs("ПолеИгрок").CreateField( _

get_column_name(i), dbText, 20)

db.TableDefs("ПолеИгрок").Fields.Append fid

Next I

' Прочие действия ...

db.Close

В программе 16.5 проиллюстрировано удаление и добавление полей в таблицу "ПолеИгрок" средствами DDL с использованием интерфейса DАО. Удаление поля производится с помощью метода Delete, в качестве параметра которого указывается имя удаляемого поля. Добавление нового поля производится следующим образом. Создается новый объект Field, обладающий необходимыми характеристиками — заданным именем поля, типом и размером данных. После этого с помощью метода Append созданный объект Field добавляется в семейство Fields объекта TableDef, содержащее все поля таблицы "ПолеИгрок". Аналогично (с помощью DАО) можно выполнить создание и удаление таблиц и индексов.

 









Начало    Назад    Вперед