diplom_macros (663746), страница 2
Текст из файла (страница 2)
Рис 8. Ввод всех макрокоманд и аргументы для каждой макрокоманды в макрос
Для указания конца макроса не требуется отдельной макрокоманды. Access продолжает выполнение макроса, входящего в группу, пока не обнаружит строку, которая содержит имя в столбце Имя макроса, либо пока не дойдет до последней строки окна макросов.
При обработке макроса пустые строки игнорируются, поэтому их удобно использовать для разделения макросов в группе. Этот прием, а также ввод комментариев для сложных макросов, состоящих из большого числа макрокоманд, позволяет улучшить читаемость макросов.
Для запуска одного из макросов группы используется полное имя для ссылки на макрос. Полное имя макроса формируется таким образом: имяГрупы.имяМакроса.
2.3. Запуск макроса из окна Конструктора макроса
Этот способ применения для тестирования только что созданного или исправленного макроса. Если макрос в окне Конструктора макроса один, то для его запуска нужно просто нажать на кнопку Запуск на панели инструментов или выбрать команду Запуск, По шагам (последний способ позволяет отладить макрос). Однако если макросов несколько, то с помощью этой кнопки или команды можно запустить только первый макрос в группе. Чтобы запустить любой другой макрос из группы, придется воспользоваться командой меню Сервис, Марко, Выполнить макрос.
Если вы часто используете этот способ запуска макроса, имеет смысл застроить панель инструментов, добавив на нее стандартную кнопку Запуск макроса. Она эквивалентна выполнению команды меню.
2.4. Запуск макроса из окна базы данных
Чтобы запустить макрос из окна База данных щелкните по ярлыку Макросы на панели объектов, найдите в списке нужный макрос и дважды щелкните по нему кнопкой мыши или нажмите кнопку Запуск на панели инструментов окна базы данных. Последний способ подходит, только если в выбранном объекте содержится один макрос. В противном случае нужно воспользоваться универсальным способом выполнения макроса, описанным выше.
2.5. Запуск макроса
с помощью кнопки на панели инструментов
Прямые способы запуска макросов являются простыми, но не самыми быстрыми. Существуют более удобные и быстрые способы. Наиболее удобный с нашей точки зрения способ запуска макроса — это создание специальной кнопки на панели инструментов. Правда, панелей инструментов очень много, причем в разных режимах работы с Access на экране появляются разные панели. Поэтому наиболее разумным является создание специальной панели инструментов, на которую вы можете поместить все нужные кнопки. Тем не менее, операция добавления специальной кнопки на стандартную панель инструментов чрезвычайно проста.
Чтобы добавить кнопку на стандартную панель инструментов Access:
-
Щелкните правой кнопкой мыши по панели инструментов и выберите в контекстном меню команду Настройка.
-
В появившемся диалоговом окне Настройка раскройте вкладку Панели инструментов.
-
Установите флажок для одной из стандартных панелей инструментов, например, Запрос в режиме таблицы, чтобы она отобразилась на экране.
-
Щелкните по ярлыку Макросы на панели объектов в окне База данных и найдите нужный макрос.
-
Перетащите макрос с помощью мыши на панель инструментов
2.6. Запрос в режиме таблицы.
На панели инструментов появится кнопка с характерным значком макроса. Если вы подержите несколько секунд курсор на этой кнопке, то увидите подсказку Запуск макроса . Вы можете таким образом переместить на панель инструментов созданный нами макрос «Open». Теперь всякий раз, когда эта панель инструментов будет отображаться на экране, вам будет доступна кнопка запуска этого макроса.
Рис 9. Кнопка запуска макроса на панели инструментов
Теперь рассмотрим создание специальной панели инструментов и размещение на ней кнопки вызова макроса.
-
Щелкните по ярлыку Макросы на панели объектов в окне База данных и выделите нужный макрос.
-
Выберите команду Сервис, Макрос, Создать панель инструментов из макроса. На экране появляется пустая панель инструментов.
Рис 10. Пустая панель инструментов
-
Перетащите с помощью мыши нужный макрос на эту панель.
На панели появляется кнопка с уже знакомым значком макроса.
Рис 11. Значок макроса
Кнопка получает такое же название, как имя макроса, для которого она создана.
Тот же самый результат можно получить другим способом:
-
Откройте окно Настройка, щелкнув правой кнопкой мыши по панели инструментов.
-
В появившемся диалоговом окне раскройте вкладку Панели инструментов и нажмите кнопку Создать.
Рис 12. Диалоговое окно “Настройка” с вкладкой “Панель Инструментов”, кнопка “Создать”
-
В появившемся диалоговом окне введите имя новой панели инструментов мои макросы и нажмите кнопку ОК. Появится пустая панель инструментов.
Рис 13. Ввод имени новой Панели Инструментов
-
Выберите вкладку Команды.
-
Выберите в списке Категории значение Все макросы, а в списке Команды найдите макрос «Open».
-
Перетащите этот макрос с помощью мыши на пустую панель инструментов.
Рис 14. Помещение макроса на пустую Панель Инструментов
Теперь посмотрим, как можно изменить внешний вид этой кнопки.
В диалоговом окне Настройка нажмите кнопку Изменить выделенный объект или щелкните правой кнопкой мыши по только что созданной кнопке. Отобразится контекстное меню.
Рис 15. Контекстное меню только что созданной кнопки
Видим, что данный режим отображения кнопки помечен, как Основной стиль. Вообще говоря, на кнопке можно поместить не только значок, но и текст или текст и значок вместе. Если вы хотите поместить на кнопке текст (название кнопки), введите этот текст в поле Имя. По умолчанию в этом поле отображается имя макроса.
Вы можете поместить на кнопку другой значок, выбрав понравившуюся картинку на специальной панели. Для отображения набора стандартных значков выберите в контекстном меню команду Выбрать значок для кнопки. Если же ни одна из картинок не подходит, можно выбрать наиболее близкий по оформлению значок, а потом исправить его в специальном редакторе. Чтобы открыть окно Редактор кнопок выберите в контекстном меню команду Изменить значок на кнопке.
Рис 16. Редактор кнопок
Наконец, можно просто скопировать понравившийся вам значок с другой кнопки.
Чтобы скопировать значок с одной кнопки на другую:
-
Откройте диалоговое окно Настройка и выделите ту кнопку на панели инструментов, с которой нужно скопировать значок.
-
Нажмите кнопку Изменить выделенный объект в диалоговом окне Настройка.
-
Выберите в контекстном меню команду Копировать значок на кнопке.
-
Выделите кнопку, значок которой нужно изменить.
Рис 17. Выбранный рисунок на кнопке для изменения
-
Нажмите кнопку Изменить выделенный объект в диалоговом окне Настройка.
-
Выберите в контекстном меню команду Вставить значок для кнопки.
Рис 18. Контекстное меню
С помощью диалогового окна свойств кнопки можно изменить текст всплывающей подсказки и задать клавиши быстрого вызова.
Чтобы изменить текст всплывающей подсказки для кнопки на панели инструментов:
-
В режиме настройки выделите кнопку на панели инструментов. В диалоговом окне Настройка нажмите кнопку Изменить выделенный объект.
-
Выберите в контекстном меню команду Свойства. Появится диалоговое окно свойств кнопки.
Рис 19. Свойство кнопки “Open”
-
Введите желаемый текст в поле Всплывающая подсказка.
На созданной вами панели инструментов можно разместить любые другие полезные кнопки, не только кнопки для запуска макросов. Когда создание панели инструментов закончено, вы можете переместить ее на свободное место в верхней части экрана (или поместить у любой другой границы экрана).
Если нужно создать панель инструментов для вызова нескольких макросов, мы рекомендуем объединить эти макросы в одну группу (создание группы макросов было описано в предыдущем разделе). Создание такой панели инструментов можно осуществить с помощью одной команды Сервис, Макрос, Создать панель инструментов из макроса. Попробуйте сделать это для одной из групп макросов в базе данных «db1», например, «Open». С помощью указанной команды создается панель инструментов с кнопками для вызова каждого макроса из группы, причем на кнопках отображаются имена соответствующих макросов. Новая панель инструментов получает такое же имя, как имя группы макросов. При желании можно заменить текст на кнопках значками, как это было описано выше.
2.7. Связывание макросов с событиями.
В базе данных хранится информация о состоянии её объектов. Любое изменение состояния формы или отчета называется событием. Каждый из этих объектов имеет свой набор событий.
С событиями удобно связывать макросы. Попробуем связать созданный нами макрос Сообщение с открытием базы данных:
-
Маркируйте макрос Размещение на экране в окне базы данных.
-
Выберите в меню Павка команду Переименовать и присвойте макросу Сообщение новое имя AutoExec (макрос с таким именем автоматически выполняется при загрузке базы данных). Вы можете произвольным образом использовать строчные и прописные литеры.
Теперь макрос связан с открытием базы данных. Таким образом автоматизируются операции, которые должны всегда выполняться в момент загрузки базы. При каждом открытии базы данных Accesss 2000 поверяет присутствует ли макрос с именем AutoExec, и, если находит, выполняет его. В противном случае открытие базы не сопровождается дополнительными действиями. Внутри одной базы данных может использоваться только один макрос AutoExec.
-
Чтобы проверить работоспособность макроса, закройте, а затем откройте базу данных.
Если имя AutoExec присвоено макрогруппе, то при открытии базы данных будет выполнен только первый макрос этой группы! Чтобы при загрузке базы последовательно приводились в исполнение несколько макросов, введите в макрос AutoExec макрокоманду ЗапускМакроса, что позволит выполнить макрос с произвольным именем (имя задается аргументом) и вернуться к следующей за ЗапускМакроса макрокоманде в макросе AutoExec.
Макрос AutoExec не выполняется, если перед открытием базы данных нажать и удерживать клавишу [Shift].
2.8. Связывание макроса с кнопкой
Целесообразно создавать элементы управления (например, кнопки) для вызова макросов. Это значительно упрощает и ускоряет доступ к ним. Удобным местом для размещения таких элементов является заголовок или примечание формы.
В качестве упражнения попробуем связать с кнопкой макрос, который маркирует активную запись формы и копирует ее в буфер обмена:
-
Создайте макрос Копировать, состоящий из следующих макрокоманд:
Макрокоманда Аргумент
ВыполнитьКоманду Select Record
ВыполнитьКоманду Copy
-
Сохраните макрос и закройте его окно.
-
Откройте форму Переключатель и активизируйте режим конструктора.
-
Вызовите команду Слева направо меню Окно.
-
Маркируйте макрос Копирование записи в окне базы данных и перетащите его в область заголовка проекта формы.
Рис 20. Перетаскивание макроса из окна базы данных в область заголовка проекта формы
Как только вы отпустите кнопку мыши, позиция кнопки для макроса зафиксируется. При необходимости ее размер можно изменить с помощью специальных манипуляторов. Перемещение кнопки осуществляется с помощью манипулятора, расположенного в левом верхнем углу маркировочной рамки.
Имя макроса автоматически появляется внутри кнопки. Если оно слишком длинное, размер кнопки следует увеличить. Чтобы на кнопке была видна вся надпись, можно уменьшить размер шрифта или создать надпись, отличающуюся от имени макрокоманды. Редактирование надписи выполняется после щелчка на кнопке. Для выхода из режима редактирования достаточно щелкнуть вне кнопки.
Для изменения параметров управляющего элемента Кнопка надлежит выполнить на нем двойной щелчок мышью, вследствие чего откроется окно свойств, если до этого оно отсутствовало на экране.