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

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

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

В Microsoft Office Access 2007 макросы могут содержаться в объектах макроса (иногда их называют изолированными макросами) или могут быть внедрены в свойства событий форм, отчетов, элементов управления. Внедренные макросы становятся частью объекта или элемента управления. Объекты макроса отображаются в области переходов в группе Макросы; внедренные макросы не отображаются.

Предполагаемое действие:

Сведения о построителе макросов

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

Создание группы макросов

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

Редактирование макроса

Использование условий для контроля за действиями макроса

Дополнительные сведения о макрокомандах

Сведения о построителе макросов

Построитель макросов используется для создания и изменения макросов. Чтобы открыть построитель макросов:

  • На вкладке Создание в группе другое нажмите кнопку макрос. Если эта команда недоступна, щелкните стрелку под модуль или Модуль класса кнопки и нажмите кнопку макрос. Изображение кнопки

    Откроется построитель макросов.

Построитель макросов

В окне построителя макросов создается список макрокоманд, которые требуется выполнить при запуске макроса. При первом открытии построителя макросов будут отображены столбцы Макрокоманда, Аргументы и Примечание.

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

Для создания, тестирования и запуска макросов можно использовать команды вкладки построителя макросов Конструктор.

В следующей таблице показаны команды, доступные на вкладке Конструктор.

Группа

Команда

Описание

Сервис

Выполнить

Выполнение макрокоманд, перечисленных в макросе.

Пошаговое выполнение

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

Построитель

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

Строки

Вставить строки

Вставка одной или нескольких пустых строк макрокоманды над выделенной строкой или строками.

Удалить строки

Удаление выделенной строки или строк макрокоманды.

Показать или скрыть

Показать все макрокоманды

Отображение большего или меньшего количества макрокоманд в раскрывающемся списке Макрокоманда.

  • Чтобы отобразить полный список макрокоманд, выберите команду Показать все макрокоманды. Когда доступен полный список макрокоманд, кнопка Показать все макрокоманды выделена. При выборе макрокоманды из полного списка перед запуском макрокоманды может потребоваться предоставить базе данных явный статус доверия.

  • Чтобы перейти от полного списка макрокоманд к краткому, в котором находятся только макрокоманды, допустимые в базе данных без доверия, снимите выделение с кнопки Показать все макрокоманды.

    Совет : Если кнопка Показать все макрокоманды выделена, нажмите кнопку Показать все макрокоманды, чтобы снять выделение. Если кнопка Показать все макрокоманды не выделена, то доступен краткий список надежных макрокоманд.

Имена макросов

Отображение или скрытие столбца Имя макроса. Имена макросов необходимы для того, чтобы отличать отдельные макросы друг от друга в группе макросов; в остальном имена для макросов необязательны. Дополнительные сведения см. в разделе Создание группы макросов.

Условия

Отображение или скрытие столбца Условие. Этот столбец служит для ввода выражений, которые определяют условия для выполнения макрокоманды.

Аргументы

Отображение или скрытие столбца Аргументы. В этом столбце отображаются аргументы для каждой макрокоманды, что упрощает просмотр макроса. Если столбец Аргументы не отображается, придется выбирать каждую макрокоманду и просматривать аргументы в разделе Аргументы макрокоманды. Ввод аргументов в столбце Аргументы невозможен.

Совет :  Построитель макросов в Access 2010 был переработан, так что теперь стало еще проще создавать и изменять макросы, а также делиться ими.

К началу страницы

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

  1. На вкладке Создание в группе другое нажмите кнопку макрос. Если эта команда недоступна, щелкните стрелку под модуль или Модуль класса кнопки и нажмите кнопку макрос. Изображение кнопки

    Откроется построитель макросов.

  2. Добавление макрокоманды в макрос:

    • В построителе макросов щелкните первую пустую ячейку в столбце Макрокоманда.

    • Чтобы отобразить список макрокоманд, введите необходимую макрокоманду или щелкните стрелку, а затем выберите необходимую макрокоманду.

      Выбор макрокоманды

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

      Ввод аргументов макрокоманды

      Примечание : 

      • При вводе аргументов на панели Аргументы макрокоманды они отображаются в столбце списка макрокоманд Аргументы. Однако столбец Аргументы предназначен только для отображения; ввод аргументов в этот столбец невозможен.

      • Чтобы увидеть краткое описание каждого аргумента, щелкните поле аргумента на панели Аргументы макрокоманды и прочитайте описание, находящееся в прилегающем поле.

        Советы

        • Для аргумента макрокоманды, значение которого является именем объекта базы данных, эти значения можно задавать путем перетаскивания объекта из области переходов в поле аргумента макрокоманды Имя объекта.

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

    • Можно дополнительно ввести текст описания для макрокоманды в столбец Комментарий.

  3. Чтобы добавить дополнительные макрокоманды в макрос, перейдите на другую строку макрокоманды и повторите шаг 2.

При запуске макроса макрокоманды в приложении Access выполняются в порядке их очередности в списке.

К началу страницы

Создание группы макросов

Группа макросов создается для объединения нескольких связанных макросов в один объект макроса.

  1. На вкладке Создание в группе другое нажмите кнопку макрос. Если эта команда недоступна, щелкните стрелку под модуль или Модуль класса кнопки и нажмите кнопку макрос. Изображение кнопки

    Откроется построитель макросов.

  2. На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Имена макросов Изображение кнопки , если она еще не была нажата.

    В построителе макросов будет отображен столбец Имя макроса.

    Примечание : Имена макросов необходимы в группах макросов для того, чтобы отличать отдельные макросы друг от друга. Имя макроса появляется в той же строке, где и первая макрокоманда. Столбец имени макроса остается пустым для любых следующих макрокоманд в макросе. Макрос заканчивается там, где появляется имя следующего макроса.

  3. В столбце Имя макроса введите имя первого макроса из группы.

  4. Введите макрокоманды, выполняемые в первом макросе:

    • В столбце Макрокоманда щелкните стрелку, чтобы раскрыть список макрокоманд.

    • Выберите имя макрокоманды.

    • В разделе Аргументы макрокоманды при необходимости укажите аргументы для макрокоманды.

      Чтобы увидеть краткое описание каждого аргумента, щелкните поле аргумента и прочитайте описание, находящееся справа от аргумента.

      Советы

      • Для аргумента макрокоманды, значение которого является названием объекта базы данных, эти значения можно задавать путем перетаскивания объекта из области переходов в поле аргумента макрокоманды Имя объекта.

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

    • Можно дополнительно ввести текст описания для макрокоманды.

  5. Перейдите к следующей пустой строке и в столбце Имя макроса введите имя следующего макроса.

  6. Введите макрокоманды, выполняемые в макросе.

  7. Повторите шаги 5 и 6 для каждого макроса группы макросов.

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

Пример группы макросов

Примечание : 

  • Имя, указанное при сохранении группы макросов, будет служить именем группы макросов. В приведенном выше примере группа макроса называется «Macro3». Имя выводится в группе Макрос в области переходов. Для ссылок на макросы, входящие в группу макросов, используется следующий синтаксис:

    ИмяГруппыМакросов.ИмяМакроса

    Например, в приведенном выше примере выражение Macro3.FoundMsg является ссылкой на второй макрос группы.

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

К началу страницы

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

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

Например, чтобы не отображать отчет, в котором отсутствуют данные, можно включить макрос в свойство события Отсутствие данных. Чтобы отобразить сообщение, можно использовать макрокоманду MsgBox, а затем чтобы отменить просмотр отчета вместо отображения пустой страницы, применить макрокоманду ОтменитьСобытие.

  1. В области переходов щелкните правой кнопкой мыши форму или отчет, содержащий макрос, а затем выберите команду Конструктор Изображение кнопки или Режим макета Изображение кнопки .

  2. Если окно свойств не открыто, нажмите клавишу F4.

  3. Выберите элемент управления или раздел, содержащий свойства события, в который нужно встроить макрос. В верхней части окна свойств из выпадающего списка в разделе Тип выбора можно выбрать элемент управления или раздел, а также форму или отчет целиком.

  4. В окне свойств перейдите на вкладку События.

  5. Выберите свойство события, в которое нужно встроить макрос, затем нажмите кнопку Кнопка "Построитель" .

  6. В диалоговом окне Построитель выделите пункт Макросы и затем нажмите кнопку ОК.

  7. В построителе макросов щелкните первую строку столбца Макрокоманда.

  8. В раскрывающемся списке Макрокоманда выберите нужный макрос.

  9. В группе Аргументы макрокоманды введите необходимые аргументы.

  10. Если требуется добавить другую макрокоманду, в столбце Макрокоманда выделите следующую строку и повторите шаги 8 и 9.

  11. Закончив создание макроса, нажмите кнопку Сохранить, а затем нажмите кнопку Закрыть.

Макрос запускается каждый раз при возникновении свойства события.

Примечание : В приложении Access можно создать группу макросов в виде внедренного макроса. Однако при возникновении события запускается только первый макрос группы. Последующие макросы игнорируются.

К началу страницы

Редактирование макроса

  • Вставка строки макрокоманды     Щелкните правой кнопкой мыши строку макрокоманды, над которой требуется вставить новую строку, а затем выберите команду Вставить строки Изображение кнопки .

  • Удаление строки макрокоманды     Щелкните правой кнопкой мыши строку, которую требуется удалить, а затем выберите команду Удалить строки Изображение кнопки .

  • Перемещение строки макрокоманды     Выделите строку макрокоманды, щелкнув заголовок строки слева от макрокоманды, а затем перетащите его в новое положение.

Чтобы вставить, удалить или переместить нескольких строк, следует сначала выделить группу строк, а затем выполнить требуемое действие. Чтобы выделить группу рядов, щелкните заголовок первой выделяемой строки, нажмите клавишу SHIFT, а затем щелкните заголовок последней выделяемой строки. (Заголовок строки — это затененное поле справа от строки макрокоманды.)

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

Примечание : При выделении нескольких строк методом перетаскивания первая строка не должна быть выделена. Если строка уже выделена, то в приложении Access это действие будет воспринято как перемещение строки на новое место.

К началу страницы

Использование условий для контроля за действиями макроса

В условие допускается использование любых выражений, возвращающих значения Истина/Ложь или Да/Нет. Макрокоманда будет выполняться, если выражение имеет значение Истина (Да).

Чтобы ввести условие для макрокоманды, сначала следует отобразить столбец Условие в построителе макросов:

  • На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Условия Изображение кнопки .

Введите выражение в столбец Условие. Нельзя начинать выражение знаком равенства (=). Для того, чтобы условие применялось к нескольким макрокомандам сразу, введите ... в каждой последующей строке. Например:

Условие, применяемое к нескольким макрокомандам

Совет : Для того чтобы временно пропустить макрокоманду, введите в качестве условия значение False. Такой прием часто используют при отладке макросов.

Примеры условных выражений в макросах

Выражение

Условие выполнения макрокоманды

[Город]="Париж"

Поле «Город» в форме, из которой запускается макрос, имеет значение «Париж».

DCount("[КодЗаказа]", "Заказы")>35

Количество записей в поле «КодЗаказа» таблицы «Заказы» превышает 35.

DCount("*", "Заказано", "[КодЗаказа]=Forms![КодЗаказа]![КодЗаказа]")>3

Имеется более трех записей в таблице «Заказано», у которых значение поля «КодЗаказа» совпадает со значением поля «КодЗаказа» в форме «ПримерФормы».

[ДатаИсполнения] Between #2-фев-2007# And #2-мар-2007#

Значение поля «ДатаИсполнения» в форме, из которой запускается макрос, попадает в интервал со 2 февраля 2007 по 2 марта 2007 г.

Forms![Товары]![На складе]<5

Значение поля «На складе» в форме «Товары» меньше 5.

IsNull([Имя])

"Имя" в форме, из которого выполняется макрос значение Null (не имеет значения). Эквивалентна ["имя"— это выражение] — Null.

[Страна]="Литва" And Forms![Сумма продаж]![Объем заказов]>100

Поле «Страна» в форме, из которой запускается макрос, содержит значение «Литва» и значение поля «Объем заказов» в форме «Сумма продаж» превышает 100.

[Страна] In ("Латвия", "Литва", "Эстония") And Len([Индекс])<>5

Поле «Страна» в форме, из которой запускается макрос, имеет значение «Франция», «Италия» или «Испания», и почтовый индекс содержит не 5 символов.

MsgBox("Подтвердить изменения?",1)=1

Нажата кнопка ОК в диалоговом окне, в котором функция MsgBox отображает текст Подтвердить изменения? Если в диалоговом окне нажата кнопка Отмена, эта макрокоманда будет пропущена.

[ВремПеременные]![Переменная1]=43

Значение временную MyVar переменной (созданные с помощью SetTempVar макрокоманды) равно 43.

[ОшибкаМакроса]<>0

Значение свойства Number объект MacroError не равно 0, это означает, что в макросе произошла ошибка. Это условие можно использовать вместе с Устранитьошибкумакроса и OnError макрокоманд для управления, что происходит при возникновении ошибки.

Дополнительные сведения о выражениях см. в статье Создание выражений.

К началу страницы

Дополнительные сведения о макрокомандах

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

К началу страницы

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

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×