Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Рис. 70. Макрокоманда УдалитьВсеВремПеременную

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

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

· Когда в макросе возникает ошибка, данные о ней сохраняются в объекте MacroError. Если для отключения сообщений об ошибках не использовалась команда ПриОшибке, выполнение макрокоманды останавливается, а данные об ошибке отображаются в виде стандартного сообщения об ошибке. Однако, если для отключения сообщений об ошибках используется команда ПриОшибке, можно использовать данные, хранящиеся в объекте MacroError, в условии или в пользовательском сообщении об ошибке. После обработки ошибки сведения, хранящиеся в объекте MacroError, перестают быть актуальными, поэтому рекомендуется очистить этот объект с помощью команды УстранитьОшибкуМакроса. Эта операция сбрасывает номер ошибки в объекте MacroError в 0 и стирает все остальные сведения об ошибке, хранящиеся в этом объекте, такие как описание ошибки, имя макроса, имя команды, условие и аргументы. Таким образом, позже снова можно проверить объект MacroError, чтобы узнать, не произошла ли новая ошибка. · Объект MacroError автоматически очищается, когда заканчивается выполнение макроса, поэтому не нужно использовать команду УстранитьОшибкуМакроса в конце макроса. · Объект MacroError содержит сведения только об одной ошибке. Если в макросе произошло несколько ошибок, объект MacroError содержит сведения только о последней. · Чтобы запустить команду УстранитьОшибкуМакроса из модуля VBA, следует воспользоваться методом ClearMacroError объекта DoCmd.
Пример 3‑3: Чтобы избежать появления сообщений об ошибках, приведенный ниже макрос использует команду ПриОшибке с аргументом Следующая, а после этого применяет команду ОткрытьФорму, чтобы открыть форму. В этом примере ошибка намеренно создается с помощью команды НаЗапись, чтобы перейти к предыдущей записи. Условие [MacroError].[Number]<>0 проверяет объект MacroError. Если произошла ошибка, ее номер отличен от нуля и выполняется команда ОкноСообщения. В диалоговом окне отображается имя команды, вызвавшей ошибку (в данном случае это команда НаЗапись), а также номер ошибки. Наконец, запуск команды
  УстранитьОшибкуМакроса очищает объект MacroError.
     

Таб. 6. Макрокоманда: УстранитьОшибкуМакроса

Условие Макрокоманда Аргументы
  ПриОшибке Перейти: Следующая
  ОткрытьФорму Имя формы: Город Режим: Форма Режим окна: Обычное
  НаЗапись Тип объекта: Форма Имя объекта: Категории Запись: Предыдущая
[ MacroError ].[ Number ]<>0 ОкноСообщения Сообщение: ="Ошибка#: " & [ MacroError ].[ Number ] & " в команде " & [ MacroError ].[ ActionName ] & "" Сигнал: Да Тип: Информационное Заголовок: Система: ошибка выполнения!
  УстранитьОшибкуМакроса  

Шаг

Рис. 71. Макрокоманда Шаг

С помощью макрокоманды Шаг можно приостановить исполнение макроса и открыть диалоговое окно Пошаговое исполнение макроса.

Макрокоманда Шаг не имеет аргументов.

Команду Шаг следует использовать для отладки макроса, не работающего должным образом. Команду Шаг можно вставить в макрос перед командой, которая предположительно вызывает ошибку. Команда приостанавливает исполнение макроса и открывает диалоговое окно Пошаговое исполнение макроса. Это диалоговое окно выводит данные об активном макросе: имя макроса, заданные условия, имя макрокоманды, аргументы и номер ошибки — если эти данные доступны. Чтобы перейти к следующей макрокоманде, в диалоговом окне следует нажать кнопку Шаг, чтобы остановить данный макрос, а также все остальные исполняющиеся макросы - кнопку Остановить все макросы, а чтобы выйти из пошагового режима и возобновить нормальную работу макроса- кнопку Продолжить.
  · Макрокоманда Шаг приводит практически к таким же результатам, что и выбор пункта Шаг в группе Сервис на вкладке Конструктор построителя макросов. Различие между этим и вызовом макрокоманды Шаг в том, что, используя макрокоманду, можно поместить её в макросе именно там, где нужно начать пошаговое исполнение. Таким образом, чтобы добраться до той команды, которую нужно проверить, не придётся по шагам проходить все предыдущие. С другой стороны, нужно выбрать пункт Шаг в построителе макросов до того, как запущен макрос. В этом случае пошаговое исполнение начнётся с первой команды макроса.
  Если весь макрос от начала до конца был исполнен по шагам, и в конце не была нажата кнопка Продолжить, режим пошагового исполнения будет все ещё активен, когда макрос закончит свою работу. Любой запущенный следом макрос начнёт свою работу в пошаговом режиме. Чтобы выключить режим пошагового исполнения, либо нажмите кнопку Продолжить в диалоговом окне Пошаговое исполнение макроса, либо в макросе, открытом в режиме конструктора, на вкладке Конструктор в группе Сервис снимите флажок Шаг.




Дата публикования: 2014-11-02; Прочитано: 727 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.265 с)...