Лекция 6. Microsoft Access как объективно-ориентированная система
1. Понятие события
2. Понятие объектов, их свойств и методов
Событие – факт окончания некоторого процесса или действия, приведшего к определенному результату. Например, если студент сдает экзамен, то это процесс, если сдал – событие. Результатом процесса является оценка.
При работе с любым приложением постоянно возникают некоторые события, обрабатываемые системой. Например, пользователь нажал кнопку и отпустил – это событие, которое должно быть зарегистрировано в системе.
В Access существует несколько сотен событий, каждое из которых регистрируется системой, причем реакция системы может быть, как предусмотрена разработчиком, так и дополнительной, которую может предусмотреть разработчик базы данных.
Событие возникает, как правило, в ответ на действие пользователя. Однако возможны события, вызванные другими причинами, например, возникновение ошибки при делении на ноль или при наступлении определенного момента времени.
При нажатии клавиши пользователем возникает следующая последовательность событий:
Key Down (кнопка нажимается) – Key Press (кнопка удерживается) – Change (показывает какой символ выбран) – Key Up (кнопка отпущена и вернулась в прежнее состояние).
Объект в программной среде является отображением объекта предметной области или объекта интерфейса. При этом под интерфейсом понимается совокупность элементов, используемых для построения изображения на экране (формы, отчеты, кнопки и другие элементы).
Объекты объединяются в типы. Типы объектов определяются набором свойств и методов.
Методы программных объектов – это процедуры и функции, которые изменяют состояния данного объекта или других объектов.
Если объект через свой метод изменяет состояние другого объекта, то имя другого объекта должно быть задано в качестве аргумента для его методов.
С точки зрения программной реализации, объект представляет собой некоторую структурированную область памяти, в которой хранятся свойства и ссылки на методы объектов.
К свойствам объектов пользователь может обращаться в процедурах и функциях VBA, инструкциях SQL и вычисляемых полях.
Для того чтобы обратится к методу или свойству объекта, необходимо получить на него ссылку, указать имя метода или свойства и список аргументов:
<ссылка на объект>.<имя метода>[список аргументов]
<ссылка на объект>.<имя свойства>[список аргументов]
Одной из составляющих объектной модели Access является команда DoCmd. DoCmd используется для запуска выполнения определенной команды (метода).
DoCmd.OpenForm («Виды продукции»)
Каждый объект имеет имя. Чтобы в отладчике узнать имя какого-либо объекта, необходимо напечатать строку.
?<ссылка на объект>.Name
Команда ?Application.Name позволяет, например, узнать название приложения.
Microsoft Access
Команда ?Aplication.Path позволяет узнать путь к приложению.
C:/Program Files/Microsoft office/
Для того чтобы правильно получать ссылки на объекты, необходимо знать структуру объектной модели.
Объектная модель – это состав объектов и соотношения между ними.
Объектная модель имеет определенную логическую структуру:
12.03.
тип
объектов
класс объектов
семейство
(коллекция)
объектная модель
Для программных объектов важным отношением является отношение принадлежности, которое может быть представлено при помощи структуры объектной модели.
Application
Forms (Form)
Controls
Properties (Control)
Reports (Report)
Module
Modules (Module)
Properties (Form)
References(Reference)
Screen
DoCmd
CommandBars
Приложение
Семейство форм
Элементы управления
Свойства элемента
Семейство отчетов
Модуль формы
Семейство модулей
Свойства формы
Семейство ссылок
Экран
Команды
Семейство панелей
Аналогично свойствам и методам семейства форм
Рис.6.2.1 Фрагмент объектной модели Microsoft Access
При работе с объектной модели необходимо уметь получать ссылки на объекты.
Set<имя переменной>=<ссылка на объект>
Мы получили ссылку на объект. Теперь, если необходимо узнать его свойства, следует указать имя переменной и после точки название свойства.
Для того чтобы получить ссылку на текущий проект напечатаем команду
Set A=Application.CurrentProject
А чтобы узнать название приложения, в отладчике можно напечатать
?А.Name
Результатом выполнения такой команды будет строка типа