![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
![]() | Рис. 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!