Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаба_VBA Access 2010.docx
Скачиваний:
7
Добавлен:
09.11.2019
Размер:
45.12 Кб
Скачать

Основные сведения о программировании в Access vba

В Access выполнение программы можно задать тогда, когда объект распознает событие. Событие - это специальные изменения в состоянии объекта. В этом случае создается макрокоманда или процедура VBA, которая присваивается событийной характеристике объекта, и событие запускает программу.

Access поддерживает три типа модулей: стандартные, модули формы и модули отчета.

Стандартный модуль создается для хранения кода Access VBA так же, как создается любой другой объект БД. Использование стандартных модулей для хранения кода Access VBA ускоряет открытие форм и отчетов, но замедляет начальный запуск приложения.

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

Для открытия модуля формы необходимо нажать кнопку «Программа» на панели инструментов в режиме конструктора формы или выполнить команду Вид/Программа. В любом случае откроется модуль Form_имя_формы. В Access 97 формы имеют новое свойство «Наличие модуля». Если ему присвоено значение «Да», значит, форма имеет модуль класса, «Нет» – в форму нет необходимости добавлять какой-либо код.

Модули отчета содержат код, являющийся реакцией на события, запущенные отчетами, разделами отчетов. Элементы управления отчетов не запускают события. Модули отчета открываются так же, как модули формы и автоматически приобретают название Report_Имя_отчета.

Особенности работы с объектами

Перед каждой операцией работы с объектом необходимо применить ссылку на объект.

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

  • Восклицательный знак применяется при переходе от совокупности к одному из ее членов:

имя_совокупности!имя_объекта

например:

Forms!formname

  • Точка используется при переходе от объекта к одной из совокупностей:

имя_объекта.имя_совокупности

например:

Forms!formname.Controls

Forms!formname.Controls!controlname

  • Если имя объекта содержит пробелы, его нужно заключить в квадратные скобки:

Forms!Switchboard

Reports![Expense Report]

  • Для отделения названия характеристики от имени объекта используется операция точки:

Forms![Expense Categories].RecordSource

  • синтаксис ссылки на поле в таблице или запросе зависит от того, относится ли таблица или запрос к базовому источнику записей открытой формы.

Ссылка на поле в источнике записей формы имеет синтаксис:

Forms!имя_формы!имя_поля

Ссылка на поле в таблице или запросе основана на применении синтаксиса:

имя_таблицы.Fields!имя_поля или имя_таблицы!имя_поля

имя_запроса.Fields!имя_поля или имя_запроса!имя_поля

В программировании на VBA переменная - это временная область памяти, содержащая значение или используемая для ссылки на объект. Такой области присваивается имя.

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

При работе с характеристиками в VBA доступны два действия:

  • изменение значения характеристики, т.е. ее установка

  • считывание значения характеристики, т.е. ее получение.

При установке значения характеристики ей присваивается значение:

объект.имя_характеристики=значение

или

объект.имя_характеристики<значение

При получении характеристики считывается ее текущее значение. Для хранения результата обычно используется переменная.

Если значение является текстовым, результат можно присвоить переменной в операции присваивания:

переменная=объект.имя_характеристики

Если характеристика представляет собой объект, то ссылка на объект присваивается объектной переменной:

Set переменная=объект.имя_характеристики

Чтобы задать объекту выполнение одного из методов, достаточно вызвать данный метод, используя ссылку на объект и на имя метода, разделенные операцией точки:

объект.метод

Большинство методов не возвращает результат, но есть и такие, которые возвращают текстовые значения и даже объекты.

Если метод возвращает текстовое значение, то для его сохранения в переменной можно использовать оператор присваивания:

переменная=объект.метод

Если метод возвращает объект, для присваивания результата объектной переменной используется оператор Set:

Set переменная=объект.метод