Создание макроса

 

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

1. Выберите на ленте Создание > Другие > Макрос.

На экране появится новое окно для создания нового макроса. Неофициально оно называется конструктором макроса.

Любой макрос состоит либо из последовательности одного или нескольких шагов, либо из действий (макрокоманд). Для создания макроса вы формируете список макрокоманд, помещая каждую из них в отдельную строку (рис. 15.1). Первоначально этот список пуст и ваш макрос ничего не выполняет.

Рис.15.2. Щелкните кнопкой мыши направленную вниз стрелку (обведена), чтобы просмотреть представленные в алфавитном порядке макрокоманды, которые можно использовать. После того как макрокоманда выбрана, в нижнем правом углу окна появляется краткое, но полезное описание

 

2.   Выберите первую макрокоманду.

У программы Access есть предварительно подготовленный список макрокоманд, которые можно использовать для приготовления макросов. Когда добавляется команда, ее просто выбирают из этого списка, как показано на рис. 15.2. В данном примере начните с выбора макрокоманды ОткрытьТаблицу (ОреnТаble).

 

Примечание

В данный момент вы работаете только с макрокомандами, которые программа Access считает безопасными для всех БД. Немного позже (см. разд. "Опасные макрокоманды" далее в этой главе) вы рассмотрите возможность применения нескольких команд, использование которых программа Access считает рискованным делом.

 

 

Рис. 15.3. Когда в списке выбирается макрокоманда, все аргументы отображаются в нижней части окна. Как видно из данного примера, у макрокоманды ОткрытьТаблицу — три аргумента (Имя таблицы, Режим и Режим данных). Каждый раз, когда вы щелкаете кнопкой мыши в одном из этих полей, в поле, расположенном справа, появляется краткое описание аргумента. Значения ваших аргументов также отображаются в виде разделенного запятыми списка в столбце Аргументы, расположенном рядом с макрокомандой

 

 

3.   В нижней части вкладки макроса в разделе Аргументы макрокоманды (рис. 15.3) выберите параметры для вашего макроса.

Большинству макрокоманд для выполнения их работы нужна от вас некоторая информация. В макрокоманде ОткрытьТаблицу (ОреnТаble) мало смысла до тех пор, пока вы

 

 

 

не сообщите программе Access, какую именно таблицу хотите открыть. Эти дополнительные сведения и называют аргументами.

У макрокоманды ОткрытьТаблицу (ОреnТаble) три аргумента.

o      Имя таблицы ссылается на таблицу, которую вы хотите открыть. Его можно выбрать из раскрывающегося списка таблиц. В данном примере можно использовать любую непустую таблицу.

o      Режим позволяет выбрать применяемый режим представления. Можно выбрать обычный режим Таблица для ввода информации, Конструктор для изменения структуры таблицы, Просмотр для подготовки данных к печати или Сводную таблицу и Сводную диаграмму для работы с итогами сводной таблицы. В данном примере выберите режим Таблица. (Конечно, когда таблица открыта, можно переключиться в другой режим представления, щелкнув правой кнопкой мыши заголовок или кнопку режима на ленте.)

o      Режим данных определяет, какой тип изменений разрешен. Можно использовать стандартный вариант Изменение (Edit) для разрешения любых изменений, Только чтение (Read Only) для запрета каких бы то ни было изменений или Добавление (Add) для разрешения только добавления записей. В данном примере выберите Только чтение.

 

 

Примечание

Вы уже видели, что у пользовательского макроса гораздо больше функциональных возможностей, чем у мастера построения макрокоманды (Command Builder wizard). Когда применяется мастер, можно открывать формы и отчеты, но не обычные таблицы, и нет средств управления режимом представления или разрешенными видами изменений. Макрос не сталкивается с подобными ограничениями.

 

 

4.   При желании введите в столбец Примечание дополнительную информацию, которая напомнит назначение макрокоманды.

Не используйте столбец Примечание для объяснения очевидного (как, например, "Открывает таблицу Products"). В этом столбце следует объяснять важность шагов в наиболее сложных операциях. Сейчас вам не нужны комментарии, но позже, когда вы создадите группы макросов и будете применять условия, вы поймете полезность комментариев.

5.   Перейдите на следующую строку и повторите шаги 2—4 для вставки другой макрокоманды.

Вы можете вставить в макрос практически неограниченное число макрокоманд. (При наличии маленьких буферов в программе Access макрос может содержать до 999 макрокоманд.) Каждая команда занимает отдельную строку, и программа Access выполняет их по порядку, перемещаясь сверху вниз.

Для завершения данного примера добавьте макрокоманду НаЗапись (GoToRecord). Это действие обеспечивает получение нужной записи в таблице, которую вы только что открыли.

При использовании аргументов следует указывать корректный объект (задайте Таблица в качестве Типа объекта и имя таблицы, которую вы выбрали в пункте 3, в качестве Имени объекта). Затем можно использовать аргументы Запись (Record) и Смещение (Offset) для точного задания той позиции, в которую вы хотите перейти. С помощью

 

 

аргумента Запись можно выбрать переход к предыдущей строке (Предыдущая (Previous)), к следующей строке (Следующая (Next)), к заполнителю новой строки в конце таблицы (Новая (New)), к заданной строке (Конкретная (Go To)), к первой строке (Первая (First)) или, как в данном примере, к последней строке (Последняя (Last)). Если выбрать Конкретная, можно использовать аргумент Смещение для указания точной позиции, например, если задать Смещение 5, обеспечивается переход к 5-й записи.

 

 

Примечание

Некоторые макрокоманды зависят от действия предшествующих макрокоманд. Отличный пример — команда НаЗапись (GoToRecord). В ней предполагается, что вы открыли таблицу, форму или запрос, содержащие запись, которую хотите отобразить. Если применить команду НаЗапись без предварительного открытия соответствующего объекта, вы получите сообщение об ошибке во время выполнения макроса.

 

 

И просто для смеха, почему бы не вставить еще одну макрокоманду? Испытайте команду Сообщение (MsgBox), отображающую выбранное вами сообщение в небольшом информационном окне. Задается сообщение в аргументе Сообщение (Message). Задайте, например, такой текст: "Ваш первый макрос только что сделал свое дело". Можно также добавить необязательный заголовок (с помощью аргумента Заголовок (Title)), предупреждающий звуковой сигнал (задав в аргументе Сигнал (Веер) значение Да) и встроенную пиктограмму (с помощью аргумента Тип (Туре)).

 

 

Подсказка

В любой момент можно изменить порядок выполнения макрокоманд. Просто щелкните кнопкой мыши поле слева от элемента, который хотите переместить; этот щелчок выделяет макрокоманду. Затем перетащите команду с помощью мыши в новое место. Программа Access автоматически раздвинет другие макрокоманды.

 

 

6.   Нажмите комбинацию клавиш <Ctrl>+<S> для сохранения макроса и задайте ему имя.

В этом примере можно назвать макрос ShowTheLastProduct (отображение последнего товара). Если вы не сохраните макрос, программа Access вежливо предложит вам сделать это во время закрытия окна макроса или первого запуска вашего макроса.

Макрос отображается в области переходов. Если ваши объекты сгруппированы по типу объекта, то вы заметите, что у макроса свой тип. Если применяется вариант группировки Таблицы и связанные представления (Tables and Related Views), программа Access вставит макрос в дополнительную группу в конце списка, названную Несвязанные объекты (Unrelated Objects).

 

 

Примечание

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

 

 

Запуск макроса

Теперь, когда макрос завершен, можно его испытать. Программа Access предоставляет четыре способа запуска макроса.

¦   Можно запустить его явно. Найдите нужный макрос в области переходов и дважды щелкните его кнопкой мыши. Этот вариант действует, если макрос еще не открыт. Если

 

же макрос открыт, выберите на ленте Работа с макросами | Конструктор > Сервис > Выполнить (Macro Tools | Design > Tools > Run).

 

 

Подсказка

Если вы применили в области переходов фильтрацию, такую что макрос не отображается на экране, вы все же можете его запустить. Выберите на ленте Работа с базами данных > Макрос > Выполнить макрос (Database Tools > Macro > Run Macro). У вас появится возможность выбрать ваш макрос из списка.

 

 

Можно запустить макрос с помощью клавиш, например, задать запуск макроса, открывающего ежемесячный финансовый отчет при нажатии комбинации клавиш <Ctrl>+<F>. Вы узнаете, как это делается, в разд. "Назначение макросу комбинации клавиш " далее в этой главе.

Можно запускать макрос автоматически при первом открытии БД. Вы можете создать макрос, который позволяет всегда начинать работу с БД запуском вашего любимого запроса и отображением его результатов. В разд. "Настройка макроса запуска" далее в этой главе вы попробуете сделать это.

 

Рис. 15.4. Результат работы макроса ShowTheLastProduct. Программа Access открывает таблицу Products (в режиме Только чтение, поэтому запрещены любые изменения) и переходит к самой последней, самой свежей записи, а затем выводит на экран сообщение, информируя вас о завершении работы макроса

 

¦ Можно присоединить макрос к форме. Вы можете задать автоматический запуск макроса при щелчке мышью кнопки или при вводе новых данных. Это наиболее распространенный способ выполнения макроса и именно так действует мастер построения макрокоманды. В разд. "Присоединение макросов к формам" далее в этой главе вы сможете опробовать этот метод.

В данной главе вы получите возможность проверить все описанные способы. Но прямо сейчас выберите простейший вариант и запустите созданный в предыдущем разделе макрос с помощью команды Работа с макросами | Конструктор > Сервис > Выполнить, На рис. 15.4 показан результат.

 

 

Подсказка

Если вы хотите откорректировать уже созданный макрос, в области переходов щелкните его правой кнопкой мыши и выберите режим Конструктор. Вы попадете снова в окно макроса, которое использовали для его создания.

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100