Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка БД .doc
Скачиваний:
3
Добавлен:
24.11.2019
Размер:
649.73 Кб
Скачать

Объединение макросов в макрогруппу

Для работы с одним объектом базы данных могут понадобиться десятки макросов, каждый из которых автоматизирует некоторый про­цесс. Такие макросы можно разработать отдельно и запускать по оче­реди. Однако все макросы, предназначенные для обработки одного объ­екта, целесообразно объединить в группу, присвоив им уникальные в пределах группы имена. Объединенные в группы макросы доступны в одном окне макроса (столбец Имя макроса должен отображаться).

Начало каждого макроса обозначается его именем в столбце Имя макроса. Два соседних макроса группы следует разделять пустой строкой, чтобы облегчить просмотр и редактирование. Для создания группы макросов необходимо выполнить следующие действия:

- Открыть окно конструктора макроса, в которое должны быть помещены группируемые макросы.

- Щелкнуть на кнопке Имя макроса (на ней изображены литеры xyz) или активизировать команду Имя макроса из меню Вид, чтобы отобразить на экране столбец Имя макроса.

- В первую ячейку столбца Имя макроса ввести имя первого макроса, например Тест1.

- В ячейки столбца Макрокоманда ввести макрокоманды, состав­ляющие тело проектируемого макроса.

- Активизировать следующую свободную строку и в поле Имя макроса ввести имя второго макроса. Между макросами можно оста­вить пустые строки, что повысит их удобочитаемость.

- Написать остальные макросы и сохранить макрогруппу с по­мощью команды Сохранить как из меню Файл, задав, например, имя Все макросы.

Способ вызова макроса, входящего в макрогруппу, отличается от способа вызова отдельно сохраненного макроса. В результате щелчка на кнопке Запуск выполняется только первый макрос макрог­руппы. То же происходит при попытке запустить макрогруппу путем двойного щелчка на ее имени в окне базы данных.

Вызов макроса из макрогруппы осуществляется путем указания точных имен макрогруппы и макроса в группе. Эти имена разделяются точкой. Если макрогруппа в окне базы данных имеет имя Все макро­сы, а необходимый макрос - имя Тест1, то для вызова последнего необходимо:

- вызвать команду Запуск макроса из меню Сервис;

- в открывшемся диалоговом окне ввести текст Все макросы. Тест1;

- запустить макрос, щелкнув на кнопке ОК.

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

Связывание макросов с командами меню

Активизация многих команд Access 97 сопровождается указанием дополнительных данных, определяющих способ их выполнения. Для по­лучения необходимых сведений Access 97 открывает диалоговое окно, в котором пользователь выполняет установки.

Автоматизировать эти действия можно путем создания соответс­твующих макрокоманд.. Некоторые из них эквивалентны командам меню. Задать команду меню, которую необходимо выполнить, позволяет макрокоманда Выпол­нитьКоманду. Например, в случае необходимости найти запись в таб­лице, запросе или форме можно воспользоваться макрокомандой Вы­полнитьКоманду с аргументом Find. При выполнении этой макрокоман­ды открывается диалоговое окно для указания критериев поиска.

Поскольку команда поиска используется довольно часто, в сос­тав доступных макрокоманд введена макрокоманда НайтиЗапись. В списке аргументов этой макрокоманды - все элементы диалогового окна поиска, которое открывается с помощью команды Найти из меню Правка. Устано­вив значения для этих аргументов на стадии разработки макроса, можно избавить себя от необходимости заполнять поля диалогового окна поиска при выполнении макрокоманды. Конечно, таким образом можно задавать только неизменные условия поиска. Для поиска запи­си по содержимому, которое изменяется, необходимо использовать макрокоманду ВыполнитьКоманду с аргументом Find и с последующим заполнением полей диалогового окна поиска, в котором и указывает­ся оригинальное искомое значение.

Рассмотрим пример создания макроса с постоянным значением для поиска, для чего:

- Открыть новое окно макроса и перетащить форму Каталог те­лефонов в первое поле.

- Для второго поля выбрать макрокоманду КЭлементуУправления.

- Для аргумента Имя элемента установить значение Фамилия.

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

- Активизировать следующее поле и выбрать в списке макроко­манду НайтиЗапись.

-Для аргумента Образец поиска задать значение Борменталь, а для остальных аргументов установить значения, указанные ниже:

Совпадение - Поля целиком, С учетом регистра - Да, Область по­иска - Вниз, С учетом формта поля - Да, Только в текущем поле - Да, Первое вхождение - Да.

- Сохранить макрос под именем Поиск записи и запустить его. В результате программа откроет форму, выполнит поиск и маркирует найденное значение. Если заданное значение (фамилия) не будет найдено, маркированным останется первый элемент (первая за­пись) формы. Условия поиска можно проверить, вызвав после выпол­нения макроса команду Найти из меню Правка. В открывшемся диало­говом окне поиска будут присутствовать все аргументы, использо­ванные при выполнении макрокоманды НайтиЗапись.

Чтобы скопировать содержимое некоторого поля в буфер обмена, следует сначала выбрать это поле с помощью макрокоманды КЭлемен­туУправления, как это было сделано ранее, а затем скопировать найденное значение. Для примера модернизируем макрос Поиск записи таким образом, чтобы скопировать в буфер обмена номер телефона лица с указанной фамилией. Для этого:

- открыть макрос Поиск записи и добавить макрокоманду КЭле­ментуУправления с аргументом Телефон;

- в следующем поле макрокоманды выбрать макрокоманду Выпол­нитьКоманду с аргументом Copy;

- сохранить и выполнить макрос.

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