Создание баз данных, таблиц, работа с таблицами в среде СУБД MSAccess: Методические рекомендации по выполнению лабораторной работы, страница 4

10.   Что такое индекс таблицы? Для чего необходимы индексы? Как можно выполнить просмотр и установку индексов?

11.  Как можно создать индекс в модели DAO VBA?

12.  Каковы преимущества индексированного поиска? Объясните, как программно можно произвести индексированный поиск?

13.  Объясните смысл понятия «целостность данных». Как обеспечивается контроль целостности данных в Access?

14.  Охарактеризуйте типы связей между таблицами БД. Как связываются таблицы  в Access? Продемонстрируйте установку и удаление связей.

15.  Продемонстрируйте просмотр записей таблицы с использованием фильтра.

16.  Как можно добавить и удалить записи из таблицы Access, используя средства интерфейса и программно?

Рекомендуемая литература

1.  Рудикова  Л.В. Базы данных. Разработка приложений. – СПб.: БХВ - Петербург,  2006. – 496 с.

2.  Тимошок  Т.В. Microsoft Office Access 2007. Самоучитель. Изд-во «Диалектика», 2008. - 464 с.

3.  Харитонова И., Вольман Н.  Программирование в Access 2002: учебный курс. – СПб.: Питер, 2002. – 480 с.

4.  Коннолли  Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика, 3-е изд.: Пер. с англ.: Уч. Пос. – М.: Издательский дом «Вильямс», 2003. – 1440 с.

5.  Глушаков С. В.  Microsoft  Access 2007.  Лучший самоучитель.  /С.В. Глушаков, А.С. Сурядный,  М.И. Шумилов. - М.: АСТ МОСКВА,   2008. - 444 с.

Приложение 1.  Исходные сведения по языку VBA

Для программирования в MS Access используется процедурный язык VisualBasicforApplication (VBA)  с включением в него библиотек объектов и языка SQL   Jet.  Язык VBA является объектно-ориентированным языком с поддержкой  модели программирования, ориентированной на обработку событий, происходящих в процессе работы пользователя с приложением. Подробные сведения по программированию на языке VBA в Access изложены в специальной литературе, например, в [3], [4].

Код VBA приложения состоит из модулей. Модули состоят из подпрограмм и функций, являющихся процедурами VBA. Модули  делятся на два типа: стандартные модули и модули класса.  Первые не связаны с  конкретным объектом и могут использоваться в разных местах приложения. Модуль класса содержит описание класса и используется при создании объектов класса.

Для объявления переменной обычно используется оператор Dim с синтаксисом

Dim <имяПеременной> [As<типДанных>] [,<имяПеременной >[As  <типДанных>]]. 
Типы данных (datatype) и операции  VBA описаны в справочной системе (Справка MicrosoftVisualBasic).

Объект- это экземпляр определенного класса. Класс в VBA программируется в виде модуля класса. При этом в разделе объявлений описываются свойства класса, а потом определяются методы класса. Примерами объектов  Access являются таблицы, поля, формы, отчеты, запросы и др.  Свойство – это характеристика объекта, которая может принимать определенное значение.  Синтаксис установки значения свойства:   объект.свойство = выражение.  Метод представляет собой процедуру или функцию, предназначенную для изменения поведения объекта. Синтаксис метода:  объект.метод, например, вызов форма1.Refresh обновляет данные в форме1. Событие – это действие или изменение, связанное с объектом. Например, щелчок мыши, сигнал таймера и др. Для любого события объекта может определяться процедура его обработки.

Упорядоченный набор объектов – экземпляров одного класса – образует семейство, которое тоже является объектом. Объекты и семейства VBA образуют объектные модели. Например, объект Application (исходный объект в иерархии объектов, предоставляющий доступ к остальным объектам) содержит семейство Forms, которое состоит из  объектов Form. Любой объект Form содержит семейство Controls, состоящее из объектов Control (элемент управления, например текстовое поле, кнопка и т.д.).

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

Application.CurrentProject.AllForms(“Сотрудники”)
является ссылкой на объект – форму Сотрудники. В скобках указывается имя объекта семейства или его индекс.  Для разделения имени семейства и имени объекта может использоваться также восклицательный знак. Например,

Forms![Заказы]![Код Заказа]
есть ссылка на элемент управления Код заказа в открытой форме Заказы.

В состав MS Access включено несколько библиотек объектов, основными из которых являются следующие:

·  Библиотека объектов Microsoft Access (Microsoft Access 12.0 Object Library);

·  Библиотека объектов доступа к данным (Microsoft DAO 3.6 Object Library);

·  Библиотека  объектов ActiveX  (Microsoft ActiveX Data Objects 2.1 Library);

·  Расширения ADO для поддержки DDL и защиты информации (Microsoft ADO Extensions  2.8 for DDL and Security);

·  Библиотека объектов Microsoft Jet и репликации (Microsoft Jet and Replication Objects 2.6 Library).

В данной лабораторной работе в программах доступа к данным используется  только   объектная модель DAOМодель ADO не рассматривается и не используется в связи с ограниченным ресурсом времени.

Приложение 2. Создание индекса

В объектной модели DAO для создания индекса таблицы используется метод CreateIndex объекта TableDefs.  После создания объекта Index необходимо добавить индексируемое поле (для составного индекса  - поля) в семейство Fields объекта Index, а затем добавить объект Index в семейство Indexes  объекта  TableDef.

В листинге 1 представлен пример создания индекса для таблицы Усилители.

Листинг 1.

' Процедура создания индекса, модель DAO

Sub CreateIndex()

' Объявление объектных переменных и их инициализация

Dim db As Database, td As TableDef, fld As Field

Dim idx As Index

Set db = CurrentDb

Set td = db.TableDefs("Усилители")

With td

'Создание индекса

    Set idx = .CreateIndex("Усиление")

    With idx

        .Fields.Append .CreateField("Коэф_усиления ")

    End With