Выполнение макроса, процедуры или запроса
Таблица 11.1.
Макрокоманды Microsoft Access 2002
|
|
|
|
|
|
Категория
|
Назначение
|
Макрокоманда
|
|
|
Работа с данными в формах и отчетах
|
Отбор данных
|
Применить Фильтр (ApplyFilter)
|
|
|
|
Перемещение по данным
|
СледующаяЗапись (FindNext) НайтиЗапись (FindRecord) КЭлементуУправления (GoToControl) НаСтраницу (GoToPage) НаЗапись (GoToRecord)
|
|
|
|
Обновление данных или экрана
|
Обновление (Requery) ПоказатьВсеЗаписи ( ShowAllRecords )
|
|
|
Выполнение
|
Выполнение команды
|
Выполнить Команду (RunComraand)
|
|
|
|
Выполнение макроса, процедуры или запроса
|
ЗапускМакроса (RunMacro) Залуск Программы (RunCode) ОткрытьЗапрос (OpenQuery) 3anycк 3anpoca SQL (RunSQL)
|
|
|
|
Выполнение другого приложения
|
Запуск Приложения (RunApp)
|
|
|
|
Прерывание выполнения
|
Отменить Событие (CancelEvent) Остановить ВсеМакросы (StopAllMacros) ОстановитьМакрос (StopMacro)
|
|
|
|
Выход из Microsoft Access
|
Выход (Quit)
|
|
|
Импорт/экспорт
|
Передача объектов Microsoft Access в другие приложения
|
Вывести В Формате (OutputTo) ОтправитьОбъект (SendObject)
|
|
|
|
Преобразование формата данных
|
Преобразовать БазуДанных (Transfer Database) ПереносБазыДанныхSQL (TransferSQLDat abase) Преобразовать ЭлектроннуюТаблицу (Transfer Spreadsheet) ПреобразоватьТекст (TransferText )
|
|
|
Работа с объектами
|
Копирование, переименование и сохранение объекта
|
КопироватьОбъект (CopyObject) Копировать Файл БазыДанных (CopyDatabase File) Переименовать (Rename) Сохранить (Save)
|
|
|
Прочие
|
Вывод на экран или скрытие встроенной или специальной панели инструментов
Подача звукового сигнала
|
ПанельИнструментов (ShowToolbar) Сигнал (Веер)
|
|
|
|
|
|
|
Как видно из этой таблицы, действия, которые могут быть выполнены с помощью макросов, очень разнообразны. Даже если вы не будете использовать макросы в своих приложениях, имеет смысл изучить эти макрокоманды, поскольку их можно использовать и в процедурах VBA, как будет показано далее
(см. гл. 13).
По сравнению с предыдущей версией Access, в Microsoft Access 2002 появились три новые макрокоманды:
ПереносБазыДанныхSQL (TransferSQLDatabase) — переносит базу данных Microsoft SQL Server 7.0 и выше на другой сервер;
КопироватьФайлБазыДанных(CopyDatabaseFile) — выполняет копирование текущей базы данных Microsoft SQL Server 7.0 и выше, присоединенной к проекту Access;
ОткрытьФункцию (OpenFunction) — выполняет функцию, определенную пользователем, в проекте Access. Эта функция- представляет собой запрос, который, используя входные параметры, возвращает результаты так же, как и хранимая процедура.
Использование макросов оправдано тем, что их легко создавать, и для этого не нужно изучать синтаксис языка программирования. Как будет показано в следующем разделе, для создания макроса требуется знать лишь основные приемы работы в Microsoft Access и Windows, такие как перетаскивание объектов из окна
База данных
(Database) в специальное окно —
Конструктор макросов
(Macro Design), выбор действия из списка и ввод выражений в качестве аргументов макрокоманды. Поэтому, если очень не хочется изучать синтаксис языка VBA или это представляется слишком трудным, смело применяйте макросы, и вы получите достаточно функциональное приложение.
Как уже говорилось выше, основное назначение макросов — это создание удобного интерфейса приложения: чтобы формы и отчеты открывались при нажатии кнопок в форме или на панели инструментов или же привычным выбором команды меню; чтобы при открытии приложения пользователь видел на экране не окно
База данных
(Database), наполненное множеством таблиц, запросов, форм и отчетов, а некую понятную форму, с помощью которой можно было бы сразу производить желаемые действия и т. д.
С помощью макросов можно создать удобные меню и панели инструментов для приложения, и чуть позже мы опишем, как это сделать.
Однако использование макросов имеет и некоторые недостатки, о которых здесь уместно сказать.
-
Возможности макрокоманд ограничены по сравнению с возможностями языка VBA, поэтому в ряде случаев без программирования на VBA не обойтись, хотя сначала нужно быть уверенным, что эти дополнительные возможности действительно нужны. Язык VBA предоставляет более широкие возможности для работы с данными, позволяет использовать механизм программирования объектов для связи с другими приложениями, вызывать функции из библиотек динамической загрузки (DLL) Windows и создавать собственные специализированные функции.
-
Макросы можно использовать практически везде, где применяются процедуры VBA, однако процедуры VBA, как правило, выполняются быстрее.
-
Макросы являются объектами, существующими отдельно от форм и отчетов, в которых они используются, поэтому, когда этих объектов становится очень много, их поддержка достаточно трудоемка. Процедуры обработки событий VBA являются неотъемлемой частью форм и отчетов, и в этом есть свои преимущества. Например, при переносе форм и отчетов из одной базы данных в другую с ними автоматически переносятся связанные процедуры.
Тем не менее, как уже отмечалось, во многих случаях использование макросов вполне оправдано, т. к. это существенно упрощает и ускоряет разработку приложения. С помощью макросов можно создавать небольшие однопользовательские приложения, хотя при создании многопользовательских или клиент-серверных приложений, где скорость работы приложения критична, лучше применять VBA.
Содержание раздела