Поделиться через


Макрокоманда ClearMacroError

Область применения: Access 2013, Office 2013

Действие ClearMacroError можно использовать для удаления сведений об ошибке, хранящихся в объекте MacroError .

Setting

Действие ClearMacroError не имеет аргументов.

Замечания

  • При возникновении ошибки в макросе сведения об ошибке сохраняются в объекте MacroError . Если вы не использовали действие OnError для подавления сообщений об ошибках, макрос останавливается, а сведения об ошибке отображаются в стандартном сообщении об ошибке. Однако если вы использовали действие OnError для подавления сообщений об ошибках, может потребоваться использовать сведения, хранящиеся в объекте MacroError , в условии или в пользовательском сообщении об ошибке.

    После обработки ошибки сведения в объекте MacroError устарели, поэтому рекомендуется очистить объект с помощью действия ClearMacroError . Это сбрасывает номер ошибки в объекте MacroError до 0 и очищает все другие сведения об ошибке, хранящиеся в объекте, такие как описание ошибки, имя макроса, имя действия, условие и аргументы. Таким образом, вы можете снова проверить объект MacroError позже, чтобы узнать, произошла ли другая ошибка.

  • Объект MacroError автоматически очищается при завершении любого макроса, поэтому не нужно использовать действие ClearMacroError в конце макроса.

  • Объект MacroError содержит сведения только об одной ошибке за раз. Если в макросе произошло несколько ошибок, объект MacroError содержит сведения только о последней ошибке.

  • Чтобы выполнить действие ClearMacroError в модуле VBA, используйте метод ClearMacroError объекта DoCmd .

Пример

Следующий макрос использует действие OnError с аргументом Next для подавления сообщений об ошибках, а затем использует действие OpenForm для открытия формы. В этом примере ошибка создается намеренно с помощью действия GoToRecord для перехода к предыдущей записи. Условие [MacroError].[ Number]<>0 проверяет объект MacroError . Если произошла ошибка, номер ошибки не равен нулю, и выполняется действие MessageBox . В окне сообщения отображается имя действия, вызвавшего ошибку (в данном случае действие GoToRecord ), и отображается номер ошибки. Наконец, выполнение действия ClearMacroError очищает объект MacroError .

Условие

Действие

Аргументы

OnError

Перейдите к:Далее

OpenForm

Имя формы: CategoryFormView: FormWindow Mode: Normal

GoToRecord

Тип объекта: FormObject Name: CategoryFormRecord: Previous

[MacroError]. [Число]<>0

MessageBox

Сообщение: ="Error # " & [MacroError]. [Число] & " в " & [MacroError]. [ActionName] & "action". Звуковой сигнал: YesType: Information

ClearMacroError