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

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Макросы данных в Access позволяют добавлять логику к событиям, происходящим в таблицах, таким как добавление, обновление и удаление данных. Они аналогичны "триггерам" в Microsoft SQL Server. В этой статье показано, как создавать и отлаживать макросы данных.

В этой статье

Сведения о макросах данных

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

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

Создание макроса данных на основе событий

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

  1. В области навигации дважды щелкните таблицу, в которую нужно добавить макрос данных.

  2. На вкладке "Таблица " в группе " До событий " или " После событий " щелкните событие, в которое нужно добавить макрос. Например, чтобы создать макрос данных, выполняемый после удаления записи из таблицы, выберите вариант "После удаления".

    Примечание

    Если с событием уже связан макрос, его значок будет выделен на ленте.

    Откроется конструктор макросов. Если для этого события ранее был создан макрос, Access отобразит существующий макрос.

  3. Добавьте действия, которые должен выполнять макрос.

  4. Сохраните и закройте макрос.

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

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

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

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

  1. В области навигации дважды щелкните таблицу, в которую нужно добавить макрос данных.
  2. На вкладке "Таблица " в группе "Именованные макросы " щелкните "Именованный макрос", а затем — "Создать именованный макрос".
    Откроется конструктор макросов, в котором можно начать добавлять действия.

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

О параметрах

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

Примечание

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

Чтобы добавить параметр в макрос данных:

  1. В верхней части макроса нажмите Создать параметр.
  2. В поле Имя введите уникальное имя параметра. Это имя используется для ссылки на параметр в выражениях.
  3. При необходимости введите описание для параметра в поле Описание . Мы рекомендуем вводить описание, потому что в дальнейшем при использовании этого параметра текст описания будет отображаться в подсказке. Это поможет вам запомнить назначение параметра.

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

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

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

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

Изменение макроса данных, управляемого событиями

  1. В области навигации дважды щелкните таблицу, содержащую макрос данных, который нужно изменить.

  2. На вкладке "Таблица " в группе "До событий " или " После событий " щелкните событие макроса, который нужно изменить. Например, чтобы изменить макрос данных, выполняемый после удаления записи из таблицы, выберите вариант После удаления.

    Примечание

    Если с событием не связан макрос, его значок не выделяется в меню.

    Откроется конструктор макросов, в котором можно приступить к его редактированию.

Изменение именованного макроса данных

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

Переименование именованного макроса данных

  1. В области навигации дважды щелкните любую таблицу, чтобы открыть ее в режиме таблицы.
  2. На вкладке "Таблица " в группе "Именованные макросы " щелкните "Именованный макрос", а затем — "Переименовать/удалить макрос".
  3. В диалоговом окне Диспетчер макросов данных нажмите кнопку Переименовать рядом с макросом данных, который вы хотите переименовать.
    Access выберет имя текущего макроса.
  4. Введите новое имя или измените существующее, а затем нажмите клавишу ВВОД.

Удаление макроса данных

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

  1. В области навигации дважды щелкните любую таблицу, чтобы открыть ее в режиме таблицы.
  2. На вкладке "Таблица " в группе "Именованные макросы " щелкните "Именованный макрос", а затем — "Переименовать/удалить макрос".
  3. В диалоговом окне Диспетчер макросов данных нажмите кнопку Удалить рядом с макросом данных, который вы хотите переименовать.

Примечание

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

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

Отладка макросов данных

Некоторые распространенные средства отладки макросов, такие как команда Single Step и действие макроса MessageBox, недоступны для макросов данных. Однако если у вас возникают проблемы с макросами данных, вы можете использовать таблицу журнала приложений в сочетании с действиями макросов OnError, RaiseError и LogEvent для поиска ошибок макросов данных.

Отображение таблицы журнала приложений

Таблица журнала приложений — это системная таблица (с именем USysApplicationLog), которая по умолчанию не отображается в области навигации. Если в макросе данных возникает ошибка, вы можете узнать, что произошло, просмотрев сведения в таблице журнала приложений.

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

  1. Щелкните "Файл", чтобы открыть представление Microsoft Backstage.

  2. На вкладке "Сведения" щелкните "Просмотреть таблицу журнала приложений".

    Примечание

    Если кнопка View Application Log Table не отображается, это означает, что для этой базы данных еще не создана таблица Application Log. После регистрации события на вкладке "Сведения " появится соответствующая кнопка.

Строки в таблице журнала приложений можно создавать с помощью действия LogEvent или RaiseError, а также управлять реакцией Access на ошибки с помощью действия OnError.