Макрокоманда 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 |