Итак, программирование с помощью VBA имеет ряд преимуществ. Еще раз подчеркнем их:
• процедуры VBA находятся внутри определения формы или отчета. Если вы перемещаете или копируете эту форму или отчет в другую БД, то процедуры VBA автоматически перемещаются вместе с ней, в отличие от макросов (последние придется переместить или скопировать отдельно);
• если ни одна из встроенных в систему функций не удовлетворяет вашим требованиям, то язык VBA позволяет создавать процедуры, состоящие из специализированных функций. Впоследствии они могут также использоваться вместо сложных выражений;
• макросы обрабатывают все множество записей. С использованием процедур VBA можно просматривать и обрабатывать записи по отдельности, изменяя команды в зависимости от установленных значений;
• аргументы макроса нельзя изменить во время его работы. Напротив, когда выполняется процедура VBA, ей можно передавать другие значения или определять переменные в качестве аргументов;
• процедура VBA позволяет обнаружить ошибку, перехватить сообщение о ней и заменить его на более информативный для пользователя совет;
• язык VBA чрезвычайно удобен для создания определений объектов БД и для манипулирования ими. Вы можете изменить свойства этих объектов, а также добавить или удалить элементы управления.
Что касается языка XML, то он также занимает свою специфическую нишу, на которую, как правило, не претендует ни один из описанных выше языков. Вообще говоря, при очень строгой классификации этот язык можно было бы и не относить к языкам программирования, поскольку он «специализируется» на преобразовании данных из одного формата в другой. Но, если вспомнить, что при отсутствии такого языка для решения этой задачи все равно надо привлекать программные средства, то жесткие критерии классификации уже не кажутся столь необходимыми. С учетом этого язык XML по праву может занимать свое место среди языков программирования.
1. Access предоставляет пользователю возможность работы с несколькими языками программирования:
– SQL (Structured Query Language) – структурированным языком запросов. Это формальный стандартизованный язык высокого уровня, содержащий средства непроцедурной (не требующей программирования) спецификации запросов;
– макросами;
– VBA (Visual Basic for Applications) – объектно-ориентированным языком программирования;
– XML (Extensible Markup Language) – расширяемым языком разметки, предназначенным для сбора, адаптации и совместного использования данных в неограниченном числе приложений и форматов.
2. Каждый из этих языков занимает определенную функциональную нишу. В настоящей главе приведен краткий обзор возможностей этих языков и даны общие рекомендации по их использованию.
Глава 10 Программирование с использованием макросов
Макросы бывают двух видов: единичные, то есть состоящие из одной макрокоманды, и сложные. В последнем случае макрос включает несколько последовательно выполняемых макрокоманд, объединенных общим именем. Каждая макрокоманда осуществляет определенную операцию: установить значения, открыть/закрыть таблицу, найти запись и т. д. Как правило, макрос автоматически запускается при наступлении какого-либо события: например, пользователь щелкает той или иной кнопкой мыши, открывает таблицу, переходит от одного поля к другому и т. п. Чтобы запустить макрос, надо указать его имя. Если макрос запускается в ответ на событие, он должен быть присоединен к соответствующему свойству формы, отчета и т. д. (см. главу 4, в частности раздел «Заголовок формы»).
Макросы могут использоваться для выполнения довольно широкого диапазона операций. Например, макросы позволяют:
• открывать отчет для просмотра или печати;
• переходить от одного элемента управления (записи, поля) к другому;
• устанавливать свойства объекта;
• выполнять разнообразные команды и т. д.
Использование макросов для обработки событий
Наиболее часто макросы применяются для обработки событий. При этом макрос может функционировать и как самостоятельная программа, и в составе процедуры VBA (Visual Basic for Applications). Первый вариант мы рассмотрим в этом разделе, а второй станет предметом нашего внимания в главе 12.
Понятие события
Событие – это любое действие пользователя: щелчок кнопкой мыши, открытие формы и т. д. Событие может также инициироваться каким-либо оператором Visual Basic или самой системой Access. События связываются с формами, отчетами, разделами форм и отчетов, а также с элементами управления форм, в частности с полями. Откликом на событие может быть выполнение процедуры обработки событий на языке VBA или макроса.
Читать дальше
Конец ознакомительного отрывка
Купить книгу