Программирование >>  Проектирование интерфейса пользователя 

1 ... 34 35 36 [ 37 ] 38 39 40 ... 153


К сожалению, мы не сможем рассмотреть здесь все атрибуты класса Field - их достаточно много. Примите к сведению, что некоторые из них будут упоминаться в ходе дальнейшего повествования. Кроме того; в вашем постоянном распоряжении оперативная справочная система с массой прекрасных примеров и подробнейших разъяснений - берите и пользуйтесь!

Использование объектов ADOX

Библиотека ADO Data Definition and Security Library (ADOX) содержит определения классов, позволяющих управлять таблицами, курсорами и индексами, а также администрировать данные о пользователях и группах пользователей.

Чтобы получить доступ к библиотеке ADOX, откройте окно редактора Microsoft Visual Basic и выберите в строке меню команду ToolsReferences. Пролистайте список Available References диалогового окна References и установите флажок для элемента Microsoft ADO Ext. 2.7 for DDL and Security, а затем щелкните на кнопке ОК. Теперь вы сможете создавать и использовать объекты ADOX.

Catalog

Каталог (Catalog) - это контейнерный класс для хранения данных о таблицах, курсорах, хранимых процедурах, пользователях и группах. В тексте листинга 6.2, рассмотренного на прошлом занятии, мы использовали объекты Catalog, Table и Key для динамического создания таблицы CONTACTS и сохранения ее в одноименной базе данных.

Между объектами Catalog и Connection существует связь типа один-к-одному. Если необходимо создать с помощью программного кода таблицу и добавить ее в базу данных, определить новые или исправить существующие ключи и индексы, ввести или отредактировать атрибуты пользователей или групп - все эти операции вы сможете сделать с помощью объекта Catalog.

Приведенный ниже листинг 7.5 демонстрирует пример кода, предназначенного для отображения списка всех таблиц базы данных, и содержит строки, частично заимствованные из листингов, которые были рассмотрены на предыдущем занятии.

Листинг 7.5. Пример использования объекта ADOX.Catalog

1: Su ables )

2: Dim Cataiog As New ADOX.Catalog

3: Se veConnection = CurrentProj ect. Connection

4; Dim I As Integer

5r For I = 0 bles. Count - 1

Debug.Print Catalog.Tables ( I ).Name

Next I

Set Catalog = Nothing End Sub

Строка 2 содержит объявление объекта Catalog тип Catalog, а в II строке З его атрибуту ActiveConnection присваивается значение Current Project. Connection, необходимое для привязки объекта к текущей базе данных. В строке 4 находится инструкция объявления переменной I типа Integer, которая далее будет использоваться в качестве счетчика итераций цикла. Строки 5-7 определяют цикл вида For . . . Next



по числу таблиц, содержащихся в базе данных. На каждом шаге цикла выполняется процедура вывода на экран наименования очередной таблицы. Команда строки 8 осуществляет очистку памяти.

Основная нагрузка, которую несет подпрограмма ListTables, заключена в строке 6. Ее скрытые функции можно перечислить следующим образом:

Dim Name As String

Dim Table As Table

Table = Catalog.Tables ( I )

Name = Table.Name

Debug.Print Name

Операнд ( I ) возвращает объект типа Table коллекции Ta-

bles. Атрибут Name хранит наименование таблицы, адресуемой объектом Table. Инструкция Debug. Print Name отображает наименование таблицы в окне Immediate.

Новый термин

Коллекция - это индексированный набор объектов определенного типа. Предопределенным коллекциям обычно даются названия в виде существительного - имени типа - во множественном числе.

Процедура листинга 7.5 отличается универсальностью и может использоваться с любыми базами данных Access. Примените ее по отношению к какой-либо базе данных, и вы получите результат, схожий с тем, который показан на рис. 7.1.

5 LlBi;Tft£.IeBO

Din Ca-aiog ft.a Sew ADOX.C -caicg

Scz Ca-calcg.AcriveConriectiiori - CyxrentPrcject.Connecticn Dira I As Integer rcr I - 0 Tc Cateicg. Tables. Ссуп-с - 1 Deba.Print Cataisg.Tables il) .Sarae Sext I Set c*t icg - Mottling End STiU

М5уя1МЕХСо1и1Ы1Г

MSyalMEXSpeca

KSyaCbjects

H3i--*CUfrri.t?

MSysRelationships

/we. 7.7. Так может выглядеть перечень таблиц, хранящихся в базе данных



Атрибут ActiveConnection

Свойство ActiveConnection объекта типа Catalog связывает последний с объектом соединения Connection. Если следует обеспечить соединение только с той базой дан-н1х, которой принадлежит текущий программный модуль, достаточно присвоить атрибуту Catalog.ActiveConnection значение CurrentProject.Connection. Впрочем,

вы можете также построить объект Connection явно и привязать его к произвольной

базе данных, а затем передать ссылку объекту Catalog тем же самым образом.

Коллекция Tables

Как мы уже говорили, коллекция - это индексированный набор объектов одного типа. Принято соглашение, в соответствии с которым коллекции целесообразно называть существительными во множественном числе, производными от наименований типов. Так, например, коллекцию объектов Connection следовало бы назвать Connections.

В главе 13-й час. Коллекции данных вы найдете общее описание коллекций и способов их использования - они просты, единообразны и последовательны, независимо от типов сохраняемых данных.

Коллекция Tables содержит упорядоченный набор объектов типа Table. Запись Catalog.Tables ( I ) означает ссылку 1-й объект набора, где I - целочисленное значение в пределах от 0 до Catalog. Tables . Count - 1.

Каждый из объектов Table в свою очередь содержит коллекции объектов Columns,

Indexes, Keys и Properties. Columns - набор объектов, описывающих столбцы таблицы, Indexes содержит сведения об индексах. Keys и Properties - хранилища данных соответствующих типов. Каждый из указанных типов найдет свое отражение на страницах нашей книги. Кроме того, в вашем распоряжении находятся файлы оперативной справочной системы, которые дадут вам исчерпывающие ответы на все вопросы. Например, чтобы открыть страницу справки, описывающую объект столбца таблицы, введите ключевое словосочетание поиска Column Object (ADOX).

Коллекции Groups, Users и Views

Groups, Users и views - это коллекции, принадлежащие объекту типа Catalog. Чтобы создать новую группу пользователей, достаточно добавить очередной объект класса Group в коллекцию Groups, воспользовавшись методом Append. Аналогичные

действия возможны и в отношении объектов User и View.

Группам пользователей и всем их членам соответствуют личные учетные записи, хранящиеся в базе данных и регламентирующие права доступа к тем или иным объектам данных. Определяя учетную запись пользователя, вы должны указать, какие объекты данных пользователь, зарегистрированный под определенным именем, может просматривать и изменять. (Обратитесь к теме Users Collection (ADOX) оперативной справки.) Чтобы найти пример кода, касающийся задания прав пользователей, выполните следующие действия.

1. Запустите программу Access.

2. Пользуясь областью задач, откройте существующую базу данных или создайте новую.

3. Выберите элемент Модули (Modules) списка Объекты (Objects).

4. Щелкните на кнопке Создать (New) панели инструментов, чтобы запустить редактор Visual Basic.

5. Нажмите клавишу для вызова справки.

6. Перейдите на вкладку Указатель (Index) окна приложения Microsoft Visual Basic Help.



1 ... 34 35 36 [ 37 ] 38 39 40 ... 153

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.061
При копировании материалов приветствуются ссылки.
Яндекс.Метрика