Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
459
Добавлен:
02.04.2015
Размер:
3.64 Mб
Скачать

15. Макросы

Макрос - это объект БД. Язык макросов является средством программирования, которое позволяет реализовать задачи пользователя, выполняя необходимые действия над объектами БД и их элементами.

Макрос - это программа, состоящая из последовательности макрокоманд. Макрокоманда-это инструкция, ориентированная на выполнение определенного действия. Например, макрокомандой можно открыть форму, отчет, запустить на выполнение запрос, применить фильтр, присвоить значение и пр. Язык макросов обеспечивает возможность решения большинства задач пользователя, не прибегая к программированию на языке Visual Basic.

Макросы определяют набор методов обработки объектов и их элементов. В Access имеютсясредства, обеспечивающие взаимодействие макросов с объектами и их элементами на основе событий.

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

Заметим, что наличие аппарата запуска программ через события, не исключает возможности написания программ на языке макросов, которые без вмешательства пользователя будут решать нужные задачи. В этом случае задача решается рядом взаимосвязанных макросов.

15.1. Создание макросов

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

Создание макроса:

  • активизировать на ленте вкладку Создание;

  • в разделе Макросы и код ленты выбрать кнопку Макрос. Откроется окно для конструирования макроса с окном каталога макрокоманд, и на ленте появятся кнопки, которые могут понадобиться при работе с макросом (рисунок 79):

Рисунок 79 – Окно конструктора макроса

В каталоге макрокоманд пункт Управление позволяет выбрать тип создаваемого макроса:

  • Вложенный макрос (по умолчанию) позволяет создать простой макрос.

  • Группа - позволяет сконструировать групповой макрос.

  • Если - позволяет сконструировать макрос с ветвлением.

  • Примечание – позволяет добавить сведения, которые не выполняются при выполнении макроса. В примечаниях пользователь пишет обычно поясняющую информацию, которая в принципе может отсутствовать.

В каждой строке пользователь из раскрывающегося списка выбирает имя нужной макрокоманды и указывает для нее необходимые аргументы (например, тип или имя объекта). Некоторые аргументы являются обязательными, некоторые - задаются по умолчанию, с которыми пользователь базы данных может согласиться. Пользовательможет им задать другие значения (обычно выбрать из раскрывающегося списка). Такие аргументы, как имя объекта, можно перетащить мышью из окна базы данных.

По умолчанию разработчику предоставляется неполный список макрокоманд. Из этого списка исключены макрокоманды, которые, по мнению разработчиков данной версии Access, являются небезопасными, например, макрокоманда ЗадатьЗначение, которая часто используется в пользовательских приложениях. Это обстоятельство часто затрудняет переход от более ранних версий Access к версиям Access 2007 и Access 2010. Для получения полного списка макрокоманд следует в режиме конструктора макроса включить на ленте кнопку Показать все действия.

Если в базе данных создается первый макрос, то пункт В этой базе данных каталога макросов отсутствует. На рисунке 79 уже существует макрос, имя которого открыть таблицу Det. В качестве примера рассмотрим последовательность шагов, необходимых для создания этого макроса.

Пример 11. Создать макрос, с помощью которого можно было открыть только для чтения данных (редактирование не разрешается) таблицы Det, а затем после их просмотра закрыть таблицу.

Для решения этой задачи нужно выполнить действия:

  • активизировать на ленте вкладку Создание;

  • в разделе Макросы и код ленты выбрать кнопку Макрос. Откроется окно для конструирования макроса с окном каталога макрокоманд, и на ленте появятся кнопки, которые могут понадобиться при работе с макросом (рисунок 79):

  • из списка выбрать макрокоманду ОткрытьТаблицу; откроется окно для задания аргументов макрокоманды;

!!!! Название макрокоманды дается в виде одного слова, даже если это название включает несколько слов. Каждое слово макрокоманды начинается с заглавной буквы, и между словами не должно быть пробелов.

  • из браузера объектов мышью перетащить в строку аргументов Имя таблицы таблицу Det (или выбрать таблицу Det из списка в строке Имя таблицы);

  • аргументу Режим данных задать значение Только чтение (выбрать из списка);

  • выбрать из списка макрокоманду ОкноСообщения;

  • аргументу Сообщение задать такое значение (набрать с помощью клавиатуры), которое будет понятно пользователю базы данных, например, Посмотри и закрой. Если эту макрокоманду не использовать, то сразу без задержки будут выполняться следующие макрокоманды, и данные таблицы только мелькнут перед глазами пользователя;

  • с остальными аргументами можно согласиться, а можно еще выбрать из списка для аргумента Тип значение Информационное;

  • выбрать из списка макрокоманду ЗакрытьОкно, для которой Тип объекта и Имя объекта можно явно не указывать. В этом случае закроется последнее открытое окно, то есть таблица Det. А можно задать значения этих аргументов явно.

  • Закрыть макрос, сохранив его с заданным пользователем именем открыть таблицу Det.

Созданный макрос появится в окне каталога макрокоманд и в окне браузера объектов базы данных.

В макросе можно добавить примечание для каждой макрокоманды, если в режиме конструктора установить курсор на макрокоманде и по разделу Примечание в окне каталога макрокоманд (см. рисунок 79).

Способы запуска макроса:

  • В режиме конструктора кнопкойВыполнитьна ленте;

  • по имени макроса из окна браузера объектов;

  • из к.з. меню на имени макроса в браузере объектов перейти в режим конструктора, далее по кнопке Выполнить;

  • из другого макроса с использованием макрокоманды ЗапускМакроса;

  • по событию (нажатие кнопки, открытие формы и пр.), связав макрос с этим событием.

Отладка макроса

Для отладки макроса используют режим запуска макроса по шагам, при котором макрос приостанавливает свою работу после выполнения каждой макрокоманды, так что пользователь может оценить правильность решения задачи. Установку этого режима можно сделать, находясь в режиме конструктора макроса, включив кнопку По шагам на ленте. Далее, как, обычно запустить макрос на выполнение. Макрос будет выполняться по шагам.

После выполнения каждого шага можно продолжить выполнение следующего шага кнопкойПродолжитьили закончить выполнение макроса, прервав его работу кнопкойОстановить все макросы.

Соседние файлы в папке Материалы для лабораторных Базы данных