Applies ToAccess для Microsoft 365 Access 2021 Access 2019 Access 2016 Access 2013

С помощью макрокоманды УстранитьОшибкуМакроса можно удалить сведения об ошибке, хранящиеся в объекте MacroError.

Примечание: Макрокоманда "УстранитьОшибкуМакроса" недоступна в веб-приложениях Access.

Настройка

Аргументы у макрокоманды УстранитьОшибкуМакроса отсутствуют.

Заметки

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

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

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

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

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

Пример

В описанном ниже макросе используется макрокоманда ПриОшибке с аргументом Следующая для отключения вывода сообщений об ошибках, а затем — макрокоманда ОткрытьФорму для открытия формы. В данном примере ошибка создается умышленно при использовании макрокоманды НаЗапись для перехода к предыдущей записи. Условие [MacroError].[Номер]<>0 проверяет объект MacroError. Если ошибка обнаружена, она имеет ненулевой номер и выполняется макрокоманда ОкноСообщения. В окне сообщения отображаются номер ошибки и название вызвавшей ее макрокоманды (в данном случае НаЗапись). Наконец, выполняется макрокоманда УстранитьОшибкуМакроса, очищающая объект MacroError.

Условие

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

Аргументы

ПриОшибке

Перейти: Следующая

ОткрытьФорму

Имя формы: ФормаКатегории

Представление: Форма

Режим окна: обычный

НаЗапись

Тип объекта: Форма

Имя объекта: ФормаКатегории

Запись: Предыдущая

[MacroError].[Номер]<>0

ОкноСообщения

Сообщение: ="Ошибка" & [MacroError].[Номер] & "в макрокоманде" & [MacroError].[ИмяМакрокоманды].

Сигнал: Да

Тип: Уведомление

УстранитьОшибкуМакроса

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.