Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть 2. Основы офисного программирования.doc
Скачиваний:
0
Добавлен:
07.02.2020
Размер:
4.04 Mб
Скачать

11.3.2. Создание рабочей области и открытие источника данных

При доступе к данным с помощью ядра Microsoft Jet используется рабочая область Microsoft Jet, для создания которой используется зарезервированная константа dbUseJet. В случае доступа к источнику данным ODBC используется рабочая область ODBCDirect, для создания которой используется зарезервированная константа dbUseODBC.

Метод CreateWorkspace определяет название рабочей области (первый параметр), второй и третий параметры задают имя и пароль, необходимые для доступа к данным, последний параметр определяет тип создаваемой рабочей области. В качестве результата возвращается ссылка на рабочую область.

Следующий программный код создает рабочую область Microsoft Jet:

Dim wsJet As Workspace Set wsJet = DBEngine.CreateWorkspace(“MyWorkspace”, _ “Admin”, “”, dbUseJet)

А приведенные ниже операторы создают рабочую область ODBCDirect:

Dim wsODBC As Workspace Set wsODBC = CreateWorkspace(“MyWorkspace”, _ “Admin”, “”, dbUseODBC)

(объект DBEngine используется по умолчанию).

После создания рабочей области можно открыть источник данных (т.е. соединиться с источником данных). Порядок открытия источника данных зависит от типа рабочей области.

Если создана рабочая область Microsoft Jet, то для соединения с источником используется метод OpenDatabase, в качестве параметра которого указывается полный путь к базе данных:

Dim dbObj As Database Set dbObj = wsJet.OpenDatabase(“C:\MyDataBases\DAO.mdb”)

При использовании рабочей области ODBCDirect для открытия источника данных применяется метод OpenConnection, который имеет один обязательный аргумент – строку, задающую имя источника данных. В начале этой строки необходимо указать тип источника данных (ODBC), вся строка является значением свойства Name объекта Connection. Перед использованием ичточника необходимо убедиться в том, что в Диспетчере драйверов ODBC описан соответствующий источник данных (в случае необходимости нужно создать новый источник данных). В следующем примере устанавливается соединение с источником данных, имеющим имя «Publishers»:

Dim dsObj As Connection Set dsObj = wsODBC.OpenConnection(“ODBC;DSN=Publishers”)

Регистрация источника данных ODBC осуществляется с помощью Диспетчера драйверов ODBC, доступ к которому можно получить через Панель управления Windows. Источник данных ODBC можно зарегистрировать программным путем, используя ODBC API.

После соединения с источником данных можно производить операции по обработке данных.

11.3.3. Исследование структуры таблиц бд

Для исследования структуры базы данных можно воспользоваться свойствами семейства TableDefs. Свойство Count возвращает количество таблиц. Свойство Name объекта из семейства TableDefs возвращает имя таблицы в БД. Для обращения к конкретной таблице можно использовать ее индекс (можно указать номер или имя таблицы).

Следующий пример позволяет вывести на экран количество таблиц в БД и их имена:

Dim tdf As TableDef Dim strMsg As String . . . . . . . . . strMsg = В данной БД ” & dbObj.TableDefs.Count strMsg = strMsg & “ таблиц с именами:” & vbCrLf For Each tdf In dbObj.TableDefs strMsg = strMsg & tdf.Name & vbCrLf Next MsgBox Prompt:=strMsg, Buttons:=vbInformation, _ Title:=“Структура БД

Далее можно выяснить структуру каждой тадлицы. Для этого можно воспользоваться семейством Fields. Свойства этого семейства позволяют определить количество полей. их имена и т.д.