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