Программа 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АО) можно выполнить создание и удаление таблиц и индексов.
CompEbook.ru Железо, дизайн, обучение и другие