В столбце Макрокоманда стрелкой прокрутки надо вызвать выпадающее меню и в нем выбрать нужную команду – в нашем случае К элементу управления. (Использовать стрелку прокрутки не обязательно: введите несколько первых букв названия макрокоманды, а Access 2002 допишет его. Но для этого вы должны точно знать имя макрокоманды, что бывает далеко не всегда.) В поле Примечание вы при желании можете включить любые комментарии к макрокоманде. В поле Аргументы макрокоманды вводятся специфические параметры. Для выбранной нами макрокоманды К элементу управления требуется указать только имя того элемента управления, к которому надо перейти. Естественно, для других макрокоманд аргументы могут быть значительно сложнее, в чем вы убедитесь дальше. Итак, введите в поле Имя элемента имя следующего поля формы, в которое необходимо перейти, – Страна. После этого макросу в окне конструктора можно дать название (по умолчанию будет определено имя Макрос42) и закрыть.
Теперь надо связать созданный макрос с событием Получение фокуса. В окне поля Код (см. рис. 10.2) щелкните по стрелке прокрутки в поле свойства Получение фокуса. В выпадающем меню снова выберите Макрос42 (см. рис. 10.4).
Этого достаточно, чтобы установить связь созданного макроса с событием. Окно, где она задана, надо сохранить. Точно так же задается автоматический переход от одного поля к другому и в этой, и во всех остальных формах. Единственная оговорка: как уже отмечалось, в этих случаях макрос нужно связать с другим свойством – После обновления.
Использование макроса при выполнении сложного запроса
Как вы помните, в главе 7 описывалось создание объединенной выборки записей из разнородных файлов, которые имели различную структуру, были разработаны в различных организациях и в разных программных средах, но интегрированы в единый банк данных в программной среде Access 2002. Выполнять задуманную операцию пришлось в два этапа: сначала формировать запрос на создание таблицы Выборка1 , куда вошли записи из одного файла, а затем генерировать запрос на добавление данных в эту таблицу из другого файла. Сейчас с помощью макроса мы можем объединить оба этапа работы, упростив решение задачи. Мы будем по-прежнему использовать запросы, но организуем их в макропоследовательность, которая имеет название и выполняется как целостная операция.
Прежде чем показать, как это делается, произведем чисто техническое, вспомогательное действие – переименуем запросы, которые нам понадобятся. Запросу Запрос7 дадим название Запрос на создание таблицы, а запросу Запрос8 – Запрос на добавление записей. Такое переименование нужно лишь для того, чтобы при объединении запросов их новые названия наглядно свидетельствовали о функции каждой части созданного макроса.
Как и раньше, откройте окно конструктора макросов, а затем активизируйте опцию Открыть запрос. Этот этап работы показан на рис. 10.5.
Рис. 10.5
У макрокоманды Открыть запрос уже другой список аргументов, каждый из которых имеет свои значения:
• Имя запроса – имена запросов, которые вы хотите включить в создаваемый макрос;
• Просмотр :
– Таблица ;
– Конструктор ;
– Предварительный просмотр при печати ;
• Режим :
– Добавить ;
– Редактировать ;
– Только для чтения .
Выбранные значения показаны на рис. 10.5.
Теперь добавьте к создаваемому макросу второй запрос (см. рис. 10.6): в следующую строку столбца Макрокоманда точно так же, как и в первом случае, введите макрокоманду Открыть запрос. Все дальнейшие действия полностью повторяются, изменяется лишь имя второго запроса – теперь это Запрос на добавление записей.