Выберите здесь, например, форму Страны. Если теперь щелкнуть по средней кнопке, то в основном окне правой области появится эта форма в режиме конструктора (на рисунке не показано). Щелчок по левой кнопке выведет на экран модуль класса, относящийся к форме Страны, что показано на рис. 12.2. Эта возможность очень полезна при написании и отладке программ, когда бывает необходимо просмотреть текст похожей процедуры, созданной для другого объекта базы данных.
Модули могут содержать описания, процедуры обработки событий, процедуры Sub (субпроцедуры) и функции.
При организации новой формы Access 2002 создает модуль класса и помещает его в конструктор. При добавлении процедуры обработки события в форму или отчет она автоматически помещается в модуль класса. Если вы копируете форму или отчет в другую базу данных, модуль класса копируется вместе с ней. Удаление формы или отчета приводит также к удалению соответствующего модуля.
Основные элементы
Прежде чем обсуждать реальные примеры программирования на основе VBA рассмотрим вкратце его основные элементы:
• переменные;
• константы;
• аргументы;
• процедуры VBA и их элементы;
• инструменты, управляющие выполнением программы.
ПеременныеВозможны два способа описания переменной: неявный и явный. Для неявного определения переменной достаточно использовать имя переменной в процедуре, не задавая его специально. Явное описание переменной означает присвоение ее имени и определение ее типа до первого оператора в программе. Чаще всего переменные описываются с помощью инструкции Dim.
КонстантыAccess поддерживает два типа констант: символьные и внутренние. Символьные константы (или константы, определяемые пользователем) определяются в модуле или процедуре с помощью оператора Const и сохраняют свое значение в ходе их выполнения. Внутренние константы (или константы, создаваемые системой) могут быть использованы в любом месте во всех модулях.
Область действия символьной константы определена местом ее описания. Если константа объявлена в процедуре, она будет доступна внутри этой процедуры; если в модуле, то, соответственно, доступ к ней разрешен во всем модуле. Константы, описанные в модуле, считаются личными (Private). Исключением из данного правила являются константы, специально объявленные как общие (Public). В этом случае они доступны для любого модуля во всем приложении. Как правило, рекомендуется для всех определяемых пользователем констант указывать тип Private, чтобы не возникало возможных недоразумений, если в другом модуле встретится константа с таким же именем. Кроме того, следует явно описывать тип Private в модуле. Рекомендуется также имя символьной константы начинать с con, например conKoeff, чтобы указать, что речь идет о константе, причем символьной.
Внутренние константы всегда доступны пользователю. Они поставляются вместе с Access 2002. Но кроме них можно использовать и другие, например из библиотеки VBA. Все константы (и не только константы) доступны в диалоговом окне Просмотр объектов, которое будет рассмотрено ниже. Имена внутренних констант имеют приставку из двух букв, указывающую на их принадлежность к той или иной библиотеке. Так, константы Access 2002 начинаются с букв ac (например, acColorIndexBlue – константа, устанавливающая голубой цвет), константы из библиотеки VBA – с букв vb (например, vbNullString, устанавливающая нулевую строку).
Аргументы