Ошибка "Сбой действия: 2950" при выполнении макроса, который вызывает функцию VBA в базе данных Access

Исходный номер базы знаний: 931407

Примечание.

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

Симптомы

При запуске макроса, который вызывает функцию Microsoft Visual Basic для приложений (VBA) в базе данных Microsoft Office Access 2007 или более поздней версии, появляется следующее сообщение об ошибке:

Сбой действия
Имя макроса: MacroName
Условие: условие
Имя макроса: RunCode
Аргументы: Аргументы
Номер ошибки: 2950

Причина

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

Разрешение

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

Способ 1. Включение базы данных для текущего сеанса

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

  1. На панели сообщений щелкните Параметры.
  2. В диалоговом окне Параметры безопасности Microsoft Office щелкните Включить это содержимое и нажмите кнопку ОК.

Примечание.

В зависимости от версии Access может потребоваться повторять эти действия при каждом открытии базы данных.

Способ 2. Перемещение базы данных в надежное расположение

Для этого выполните следующие действия:

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

    1. Последовательно выберите пункты Файл и Параметры.

    2. Щелкните Центр управления безопасностью, а затем выберите Параметры центра управления безопасностью в центре управления доступом к Microsoft Office.

    3. Щелкните Доверенные расположения, а затем выполните одну из следующих процедур:

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

Дополнительные сведения

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

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

  1. Создайте форму в режиме конструктора.

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

  3. Сохраните и закройте форму.

  4. Создайте макрос, а затем назовите макрос AutoExec.

  5. Отображение столбца Условия .

  6. Введите следующую строку в столбце Условия :

    CurrentProject.IsTrusted = False

  7. В столбце Действия щелкните OpenForm.

  8. В поле Имя формы в разделе Аргументы действия щелкните форму, созданную на шаге 1.

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

При открытии базы данных запускается AutoExec макрос, а затем проверяет IsTrusted условие. Если база данных не является доверенной для Access, макрос открывает форму, указанную в OpenForm действии макроса.