С помощью макрокоманды УстранитьОшибкуМакроса можно удалить сведения об ошибке, хранящиеся в объекте MacroError.
Примечание: Макрокоманда "УстранитьОшибкуМакроса" недоступна в веб-приложениях Access.
Настройка
Аргументы у макрокоманды УстранитьОшибкуМакроса отсутствуют.
Заметки
-
Когда в макросе встречается ошибка, сведения о ней сохраняются в объекте MacroError. Если вы не применяли макрокоманду ПриОшибке для отключения вывода сообщений об ошибках, выполнение макроса прекращается и отображается стандартное сообщение об ошибке. Если же вы применили макрокоманду ПриОшибке для отключения вывода сообщений, то можете использовать сведения, хранящиеся в объекте MacroError, в условии или настраиваемом сообщении об ошибке.
После обработки ошибки сведения в объекте MacroError становятся неактуальными, так что лучше всего очистить объект с помощью макрокоманды УстранитьОшибкуМакроса. При этом сбрасывается до 0 номер ошибки в объекте MacroError и удаляются все хранящиеся в нем сведения об ошибке, такие как описание, название макроса, название действия, условие и аргументы. Так что позднее вы можете еще раз проверить объект MacroError и посмотреть, не появилась ли еще одна ошибка.
-
По окончании макроса объект MacroError автоматически очищается, поэтому вам не нужно использовать макрокоманду УстранитьОшибкуМакроса в конце макроса.
-
Объект MacroError может единовременно содержать сведения только об одной ошибке. Если в макросе обнаруживается несколько ошибок, объект MacroError содержит сведения только о последней из них.
-
Чтобы выполнить макрокоманду УстранитьОшибкуМакроса в модуле VBA, используйте метод УстранитьОшибкуМакроса объекта DoCmd.
Пример
В описанном ниже макросе используется макрокоманда ПриОшибке с аргументом Следующая для отключения вывода сообщений об ошибках, а затем — макрокоманда ОткрытьФорму для открытия формы. В данном примере ошибка создается умышленно при использовании макрокоманды НаЗапись для перехода к предыдущей записи. Условие [MacroError].[Номер]<>0 проверяет объект MacroError. Если ошибка обнаружена, она имеет ненулевой номер и выполняется макрокоманда ОкноСообщения. В окне сообщения отображаются номер ошибки и название вызвавшей ее макрокоманды (в данном случае НаЗапись). Наконец, выполняется макрокоманда УстранитьОшибкуМакроса, очищающая объект MacroError.
Условие |
Макрокоманда |
Аргументы |
ПриОшибке |
Перейти: Следующая |
|
ОткрытьФорму |
Имя формы: ФормаКатегории Представление: Форма Режим окна: обычный |
|
НаЗапись |
Тип объекта: Форма Имя объекта: ФормаКатегории Запись: Предыдущая |
|
[MacroError].[Номер]<>0 |
ОкноСообщения |
Сообщение: ="Ошибка" & [MacroError].[Номер] & "в макрокоманде" & [MacroError].[ИмяМакрокоманды]. Сигнал: Да Тип: Уведомление |
УстранитьОшибкуМакроса |