Параметры метода OpenDatabase
Параметр |
Тип |
Обязательный или нет |
Описание | ||||||||
<имя> |
String |
Обязательный |
Имя файла существующей базы | ||||||||
данных (возможно, включая полный | |||||||||||
|
путь с указанием имени диска или | ||||||||||
|
сетевого ресурса) или имя источни- | ||||||||||
|
ка данных ODBC (DSN) | ||||||||||
<параметры> |
Variant |
Необязательный |
Используется для задания специаль- | ||||||||
|
ных параметров базы данных. Напри- | ||||||||||
|
мер, в рабочей области Jet применяет- | ||||||||||
|
ся значение True, если нужно открыть | ||||||||||
|
базу данных в режиме монопольного | ||||||||||
|
доступа, или значение False, если | ||||||||||
|
нужно открыть базу данных в режиме | ||||||||||
|
общего доступа. Значение False | ||||||||||
|
устанавливается по умолчанию. Пара- | ||||||||||
|
метры, используемые в рабочей об- | ||||||||||
|
ласти ODBCDirect, описаны в справоч- | ||||||||||
|
ной системе Access | ||||||||||
<режим> |
Variant |
Необязательный |
Задается значение True, если нуж- | ||||||||
(подтип |
|
но открыть базу данных только для | |||||||||
Boolean) |
|
чтения, или значение False, если | |||||||||
|
нужно открыть базу данных для чте- | ||||||||||
|
ния и записи. По умолчанию исполь- | ||||||||||
|
зуется значение False | ||||||||||
<соединение> |
Variant |
Необязательный |
Строка соединения (connection | ||||||||
(подтип |
|
string). Используется для указания | |||||||||
String) |
|
параметров соединения с источни- | |||||||||
|
ком данных, включая пароль | ||||||||||
Аналогично создать и открыть новую базу данных можно: D с помощью метода CreateDatabase объекта Workspace; П с помощью метода CreateDatabase объекта DBEngine. Глобальным является метод CreateDatabase объекта DBEngine.
Метод CreateDatabase создает новый объект Database, добавляет его в семейство Databases открытых баз данных в рабочей области, сохраняет базу данных на диске и возвращает открытый объект Database. Этот метод используется только в рабочей области ядра Microsoft Jet. Метод CreateDatabase имеет следующие параметры (табл. 16.4):
Database CreateDatabase (<имя>, <порядок>, <параметры>)
Замечание
В программе на VBA для ссылки на метод CreateDatabase объекта DBEngine можно использовать сокращенную ссылку или указать префикс DBEngine с точкой. А для ссылки на метод объекта Workspace необходимо указать конкретную рабочую область, например:
' Использование метода объекта DBEngine:
Set dbl = CreateDatabase(...)
Set db2 = DBEngine.CreateDatabase(...)
' Использование метода объекта Workspace:
Set db3 = Workspaces(0).CreateDatabase(...)
Таблица 16.4.
Параметры метода CreateDatabase
Параметр |
Тип |
Обязательный или нет |
Описание |
||
<порядок> |
Variant |
Обязательный |
Строковое выражение, опреде-(подтип ляющее порядок символов, кото-String) рый будет использоваться в операциях сравнения и сортировки в создаваемой базе данных. Допускается также создание пароля для нового объекта Database путем слияния строки пароля (начинающейся с символов ";pwd=") с константой в аргументе <порядок>, например: DbLangCyrillic & " ; р\»го>=МойПароль " |
||
<параметры> |
<константы> |
Необязательный |
Константа или комбинация констант, которая определяет один или несколько параметров: версию формата данных и режим шифрования или дешифрования базы данных во время сжатия. Константы приведены в справке Access |
||
<имя> |
String |
Обязательный |
Имя файла создаваемой базы данных. Следует указать полный путь и имя файла, например "С: \dbl .mdb" или "\\serverl\sharel\dirl\dbl". Если пользователь не указывает расширение имени, автоматически добавляется расширение mdb. Данный метод позволяет создавать только файлы mdb. |
||
Чтобы получить доступ к данным в открытой одним из перечисленных способов базе данных, необходимо открыть набор записей. Набор записей может представлять собой все записи таблицы или часть записей таблицы, удовлетворяющих указанному условию, или результат выборки из нескольких таблиц. Чтобы открыть набор записей в базе данных, используйте метод OpenRecordset объекта Database (см. программу 16.3). Этот метод возвращает ссылку на созданный объект Recordset и имеет следующие параметры (табл. 16.5):
Recordset OpenRecordset(<источник>,<тип>, <параметры>, <блокировки>)
Замечание
С помощью метода OpenRecordset в базе данных можно открыть связанную таблицу (точно так же, как и таблицу, хранящуюся в базе данных), указав ее имя.
Таблица 16.5.
Параметры метода OpenRecordset
Параметр |
Тип |
Обязательный или нет |
Описание |
||
<источник> |
String Обязательный Источник записей для нового |
||||
объекта Recordset. В качестве |
|||||
источника записей можно ука- |
|||||
зать имя таблицы или запроса, а |
|||||
также инструкцию SQL, которая |
|||||
возвращает записи |
|||||
<тип> |
<константа> |
Необязательный |
Константа, указывающая тип от- |
||
крываемого объекта Recordset. |
|||||
Эти константы приведены в |
|||||
табл. 16.6 |
|||||
<параметры> |
<константы> |
Необязательный |
Произвольная комбинация определенных констант, задающих |
||
характеристики нового объекта |
|||||
Recordset. Эти константы при- |
|||||
ведены в справочной системе |
|||||
Access |
|||||
<блокировки> |
<константа> |
Необязательный |
Константа, определяющая тип |
||
блокировки объекта Recordset. |
|||||
Возможные константы перечис- |
|||||
лены в справке Access |
|||||
Таблица 16.6.
Константы, определяющие тип набора записей
Константа |
Тип набора записей |
||
DbOpenTable |
Открытие табличного обьекта Recordset (только в рабочей области ядра Microsoft Jet) |
||
DbOpenDynaset |
Открытие объекта Recordset типа динамического набора записей, аналогичного указателю ключевого набора записей ODBC |
||
DbOpenDynamic |
Открытие обьекта Recordset динамического типа, аналогичного динамическому указателю ODBC (только в рабочей области ODBCDirect) |
Константа |
Тип набора записей |
||
DbOpenSnapshot |
Открытие объекта Recordset типа статического набора записей, аналогичного указателю статического набора записей ODBC |
||
DbOpenForwardOnly |
Открытие объекта Recordset типа статического набора записей с последовательным доступом |
Далее приведен пример открытия таблицы, взятый из программного кода сервера приложения "Игра в доминирование" (программа 16.3).