<catalog>.Create <connectionString>. -|
При выполнении метода создается и открывается новый объект Catalog, который ; описывается строкой соединения <connectionString>. При этом так же, как и при использовании DАО, можно явно указать порядок символов, который будет использоваться в операциях сравнения и сортировки в создаваемой базе данных. Для этого применяется параметр Locale Identifier строки соединения. В листинге 5.7 приводятся примеры создания новой базы данных Access.
Листинг 5.7. Создание базы данных (ADO)
Dim cat As New ADOX.Catalog
Dim catNewDB As New ADOX.Catalog
'создаем новый файл базы данных Access и устанавливаем
'с ним соединение
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0; _
Data Source=c:\new.mdb"
'создаем новый файл базы данных Access и определяем 'порядок сортировки
catNewDB.Create "Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Locale Identifier=1036;Data Source= c:\new.mdb"
ВНИМАНИЕ Библиотека объектов ADOX не подключается автоматически во время установки Microsoft Access 2002. Вы должны установить ссылку на эту библиотеку из диалогового окна References (Ссылки) редактора VBA .
Диалоговое окно со всеми подключенными библиотеками ADO показано на рис. 5.2.
Доступ к таблицам базы данных Access
После установки соединения с источником данных обеспечивается доступ ко bccn объектам этой базы данных. Основными объектами, в базе данных Access явля ются таблицы. Все таблицы базы данных Access, включая присоединенные, скры тые и системные, содержатся в семействе TableDefs объектной модели ОАО. Тш таблицы определяется значением свойства Attributes объекта TableDef. В листин ге 5.8 приводится пример процедуры, которая печатает имена и типы всех таб лиц в базе данных Библиотека.mdb. !
Листинг 5.8. Печать объектов семейства TableDefs (DAO)
Sub PrintTablesO
Dim ws As Workspace, db As Database, td As TableDef
'выбираем рабочую область
Set ws = DBEngine.Workspaces(O)
'открываем базу данных
Set db = ws .OpenDatabase ("С: \Библиотека.гг^Ь")
For Each td in db.TableDefs
Debug.Print td.Name & vbTab & td.Attributes
Next td
db.Close ' Закрываем базу данных
Set db = Nothing ' Очищаем объектные
Setws= Nothing ' переменные
EndSub
Семейство TableDefs является стандартным семейством объекта Database, поэтому к его объектам можно обращаться с помощью сокращенной ссылки, например:
Dim db As Database, strType As String, strName As String
Set db = CurrentDB
strType = db!Авторы.Connect
strName = db!Авторы.SourceTableName
В приведенном примере переменной strType присваивается значение свойства Connect присоединенной таблицы Авторы, определяющее тип и местонахождение таблицы, а переменной strName — значение свойства SourceTableName, которое содержит имя присоединенной таблицы в источнике1. В объектной модели ADOX семейство Tables содержит ссылки на все таблицы л представления (запросы на выборку) базы данных. В семейство входят также хылки на присоединенные и системные таблицы. Определить тип таблицы можно тутем проверки свойства Туре объекта Table. В табл. 5.2 приведены строковые значения, которые возвращаются при проверке свойства Туре с помощью Microsoft Jet 4.0 OLE DB Provider. Таким образом, семейство Tables обеспечивает программный доступ к любой таблице и запросу на выборку базы данных.
Таблица 5.2. Значения свойства Туре объекта Table
Тип |
Описание |
Access Table |
Системная таблица Access |
Link |
Связанная таблица из источника данных, отличного от ODBC |
Pass-Through |
Связанная таблица из источника данных ODBC |
System Table |
Системная таблица Microsoft Jet |
Table |
Обычная таблица |
View |
Запрос без параметров, возвращающий набор записей (запрос на выборку) |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.