Если база данных большая, отбор записей в форме может занять некоторое время, поэтому рекомендуется вывести на экран курсор в форме песочных часов, который будет показывать, что идет обработка данных. Чтобы сделать это, воспользуемся макрокомандой ПесочныеЧасы. Макрокоманды в макросе выполняются в той последовательности, в которой они записаны в столбце Макрокоманда, т. е. сверху вниз. Макрокоманду ПесочныеЧасы нужно поставить первой, т. к. курсор должен измениться перед выводом формы. Таким образом, нам нужно вставить новую строку на панели описаний. Для этого установим курсор в первую строку панели и нажмем кнопку Добавить строки на панели инструментов или просто клавишу <Insert>. Появляется пустая строка. В этой строке в поле Макрокоманда выберем макрокоманду ПесочныеЧасы. В поле Включить панели аргументов появится значение Да, установленное по умолчанию, что нам и нужно. Чтобы вернуть первоначальный вид указателю мыши, в конце созданного макроса нужно ввести такую же макрокоманду ПесочныеЧасы, но со значением Нет аргумента Включить.
Строго говоря, эту макрокоманду лучше поставить перед макрокомандой вывода сообщения на экран. Это легко исправить, поскольку макрокоманды легко меняются местами с помощью мыши. Чтобы поменять две последние макрокоманды местами, выделите последнюю строку, щелкнув левой кнопкой мыши по области выделения строк (слева в окне Конструктора) и перетащите строку вверх. Горизонтальная линия показывает место нового положения строки. Отпустите кнопку мыши, когда эта линия окажется над предпоследней строкой.
Теперь остается только сохранить созданный макрос. Для этого можно выбрать в меню Файл команду Сохранить как или нажать клавишу <F12>. Появится окно сохранения макроса. Введите в поле ввода имя макроса, соблюдая правила именования объектов Access, например, менеджеры по продажам.
2.2. Создание групп макросов
При разработке приложения с использованием макросов количество макросов может оказаться очень большим. Поэтому важно хорошо организовать доступ к нужным макросам. Для этого в одном объекте Макрос можно объединить несколько макросов. Например, рекомендуется все макросы, связанные с событиями в форме или отчете, объединить в отдельный объект, соответствующий данной форме или отчету. Для того чтобы можно было это сделать, каждый макрос группы должен иметь свое имя, а имя объекта Макрос будет являться именем группы макросов.
Чтобы создать группу макросов:
· Откройте Конструктора макросов.
Рис 5. Открытие Конструктора макросов
· Нажмите кнопку Имена макросов на панели инструментов. На панели описаний в окне Конструктора макросов появится еще один столбец Имя макроса.
Рис 6. Дополнительный столбец “Имя Макроса”
· В этот столбец введите имя первого макроса. Остальные поля данной строки лучше оставить пустыми — это облегчит перемещение и копирование макрокоманд.
Рис 7. Ввод в столбец первого имени макроса
· Начиная со следующей строки, введите все макрокоманды макроса и соответствующие аргументы для каждой макрокоманды.
Рис 8. Ввод всех макрокоманд и аргументы для каждой макрокоманды в макрос
Для указания конца макроса не требуется отдельной макрокоманды. Access продолжает выполнение макроса, входящего в группу, пока не обнаружит строку, которая содержит имя в столбце Имя макроса, либо пока не дойдет до последней строки окна макросов.
При обработке макроса пустые строки игнорируются, поэтому их удобно использовать для разделения макросов в группе. Этот прием, а также ввод комментариев для сложных макросов, состоящих из большого числа макрокоманд, позволяет улучшить читаемость макросов.
Для запуска одного из макросов группы используется полное имя для ссылки на макрос. Полное имя макроса формируется таким образом: имяГрупы.имяМакроса.
2.3. Запуск макроса из окна Конструктора макроса
Этот способ применения для тестирования только что созданного или исправленного макроса. Если макрос в окне Конструктора макроса один, то для его запуска нужно просто нажать на кнопку Запуск на панели инструментов или выбрать команду Запуск, По шагам (последний способ позволяет отладить макрос). Однако если макросов несколько, то с помощью этой кнопки или команды можно запустить только первый макрос в группе. Чтобы запустить любой другой макрос из группы, придется воспользоваться командой меню Сервис, Марко, Выполнить макрос.
Если вы часто используете этот способ запуска макроса, имеет смысл застроить панель инструментов, добавив на нее стандартную кнопку Запуск макроса. Она эквивалентна выполнению команды меню.
2.4. Запуск макроса из окна базы данных
Чтобы запустить макрос из окна База данных щелкните по ярлыку Макросы на панели объектов, найдите в списке нужный макрос и дважды щелкните по нему кнопкой мыши или нажмите кнопку Запуск на панели инструментов окна базы данных. Последний способ подходит, только если в выбранном объекте содержится один макрос. В противном случае нужно воспользоваться универсальным способом выполнения макроса, описанным выше.
2.5. Запуск макроса
с помощью кнопки на панели инструментов
Прямые способы запуска макросов являются простыми, но не самыми быстрыми. Существуют более удобные и быстрые способы. Наиболее удобный с нашей точки зрения способ запуска макроса — это создание специальной кнопки на панели инструментов. Правда, панелей инструментов очень много, причем в разных режимах работы с Access на экране появляются разные панели. Поэтому наиболее разумным является создание специальной панели инструментов, на которую вы можете поместить все нужные кнопки. Тем не менее, операция добавления специальной кнопки на стандартную панель инструментов чрезвычайно проста.
Чтобы добавить кнопку на стандартную панель инструментов Access:
· Щелкните правой кнопкой мыши по панели инструментов и выберите в контекстном меню команду Настройка.
· В появившемся диалоговом окне Настройка раскройте вкладку Панели инструментов.
· Установите флажок для одной из стандартных панелей инструментов, например, Запрос в режиме таблицы, чтобы она отобразилась на экране.
· Щелкните по ярлыку Макросы на панели объектов в окне База данных и найдите нужный макрос.
· Перетащите макрос с помощью мыши на панель инструментов
2.6. Запрос в режиме таблицы.
На панели инструментов появится кнопка с характерным значком макроса. Если вы подержите несколько секунд курсор на этой кнопке, то увидите подсказку Запуск макроса <имя макроса>. Вы можете таким образом переместить на панель инструментов созданный нами макрос «Open». Теперь всякий раз, когда эта панель инструментов будет отображаться на экране, вам будет доступна кнопка запуска этого макроса.
Рис 9. Кнопка запуска макроса на панели инструментов
Теперь рассмотрим создание специальной панели инструментов и размещение на ней кнопки вызова макроса.
· Щелкните по ярлыку Макросы на панели объектов в окне База данных и выделите нужный макрос.
· Выберите команду Сервис, Макрос, Создать панель инструментов из макроса. На экране появляется пустая панель инструментов.
Рис 10. Пустая панель инструментов
· Перетащите с помощью мыши нужный макрос на эту панель.
На панели появляется кнопка с уже знакомым значком макроса.
Рис 11. Значок макроса
Кнопка получает такое же название, как имя макроса, для которого она создана.
Тот же самый результат можно получить другим способом:
· Откройте окно Настройка, щелкнув правой кнопкой мыши по панели инструментов.
· В появившемся диалоговом окне раскройте вкладку Панели инструментов и нажмите кнопку Создать.
Рис 12. Диалоговое окно “Настройка” с вкладкой “Панель Инструментов”, кнопка “Создать”
· В появившемся диалоговом окне введите имя новой панели инструментов мои макросы и нажмите кнопку ОК. Появится пустая панель инструментов.
Рис 13. Ввод имени новой Панели Инструментов
· Выберите вкладку Команды.
· Выберите в списке Категории значение Все макросы, а в списке Команды найдите макрос «Open».
· Перетащите этот макрос с помощью мыши на пустую панель инструментов.
Рис 14. Помещение макроса на пустую Панель Инструментов
Теперь посмотрим, как можно изменить внешний вид этой кнопки.
В диалоговом окне Настройка нажмите кнопку Изменить выделенный объект или щелкните правой кнопкой мыши по только что созданной кнопке. Отобразится контекстное меню.