· метод Refresh для обновления семейства.
Это значит, что можно программным путем добавлять в базу данных таблицы и удалять их.
Алгоритм создания новой таблицы также одинаков в обеих моделях.
Для создания нового объекта TableDef используется метод CreateTableDef объекта Database, который инициализирует объектную переменную, содержащую ссылку на таблицу.
Синтаксис метода CreateTableDef:
Set <переменная> = <database>.CreateTableDef ([<имяТаблицы>], [<атрибуты>],
[источник>], [<соединение>]),
;database> — ссылка на объект Database.
Посольку все аргументы метода CreateTableDef являются необязательными, можно пускать, а затем при необходимости установить значения соответствующих свойств объекта TableDef.
Аргумент <имяТаблицы> представляет собой имя создаваемой таблицы. Аргумент <атрибуты> — это константа или комбинация констант, которая определяет характеристики создаваемой таблицы. Аргументы используются, если создается присоединенная таблица. Имя этой таблицы в текущей базе данных может отличаться от имени таблицы в базе данных-источнике, поэтому аргумент <источник> опрделяет имя таблицы в базе данных-источнике. Аргумент <соединение> представляет собой строку соединения, которая определяет тип и местонахождение источника данных, например, для таблицы Excel аргумент <соединение> может содержать значение "Excel 8.0; DATABASE=C:\TABLES\SUMMARY.XLS".
После того, как новая таблица создана, необходимо определить ее структуру, то есть свойства полей. Прежде чем добавить ее в семейство TableDefs, нужно определить хотя бы одно поле, в противном случае Access выдаст сообщение об ошибке. Чтобы создать поле, используется метод CreateField объекта TableDef, который имеет следующий синтаксис:
Set <nepeменная> = <tableDef>.CreateField ([имя], [тип], [размер]).
Метод CreateField имеет три необязательных аргумента, позволяющие определить три свойства поля: имя, тип данных и размер. Поскольку аргументы не являются обязательными (как и при создании таблицы), их можно опустить, а позже установить соответствующие свойства объекта Field. Созданные поля нужно обязательно добавить в семейство Fields.
Когда структура таблицы определена, можно добавить ее в семейство TableDefs, используя метод Append, и затем вызвать метод Refresh, чтобы обновить семейство. Удалить таблицу, если она больше не нужна, можно с помощью метода Delete.
СОВЕТМетодRefreshсемействаTableDefsрекомендуетсяприменятьпослекаждогодобав-ления, удаленияилиизмененияобъектаTabteDef. Этоособенноважновмногопользовательскихприложениях.
ВНИМАНИЕ Недостаточно создать объект и установить его свойства, если это объект не времен-ный. Чтобы сохранить его в базе данных, нужно обязательно добавить его в соответствующее семейство. В противном случае Access ничего не будет «знать» о его существовании, и объект просто «исчезнет».
Листинги 5.11 и 5.12 демонстрируют примеры использования этих методов.
Листинг 5.11. Создание таблиц (ОАО — вариант 1)
Sub CreateTempTable ()
Dim db As Database, td as TableDef, fid As Field
Set db = CurrentDB 'создаем новую таблицу
Set td = db.CreateTableDef("ВремТовары") 'создаем поля таблицы и добавляем их в семейство Fields
Set fid = td.CreateField("KoдПpoдyктa", dbText.5)
td. Fields.Append fid
Set fid = td.CreateFieldC'HanMeHOBaHHe", dbText,50)
td.Fields.Append fid
Set fid = td .CreateField("OnncaHne")'можно и так
fid.Type = dbText
fid.Size = 255
td. Fields.Append fid 'добавляем таблицу в семейство TableDefs
db.TableDefs.Append td 'обновляем семейство TableDefs
db.TableDefs.Refresh
db.Close End Sub
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.