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