Программа 16.5. Изменение структуры таблицы с помощью интерфейса DАО
Программа 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АО) можно выполнить создание и удаление таблиц и индексов.