Можете да използвате макрокомандата ClearMacroError, за да изчистите информация за грешка, която се съхранява в обекта MacroError.
Забележка: Макрокомандата ClearMacroError не е налична в уеб приложенията на Access.
Настройка
Действието ClearMacroError не съдържа никакви аргументи.
Забележки
-
Когато възникне грешка в макрос, информация за грешката се съхранява в обекта MacroError. Ако не сте използвали действието OnError за забрана на съобщенията за грешка, макросът спира и информацията за грешката се показва в стандартно съобщение за грешка. Въпреки това, ако сте използвали действието OnError, за да забраните съобщенията за грешка, може да искате да използвате информацията, съхранена в обекта MacroError в условие или в персонализирано съобщение за грешка.
След като грешката бъде обработена, информацията в обекта MacroError не е актуална, така че е добра идея да изчистите обекта с помощта на действието ClearMacroError. Това нулира номера на грешката в обекта MacroError на 0 и изчиства всякаква друга информация за грешката, която се съхранява в обекта, като например описанието на грешката, името на макроса, името на действието, условието и аргументите. По този начин можете да прегледате обекта MacroError по-късно, за да видите дали не е възникнала друга грешка.
-
Обектът MacroError автоматично се изчиства при завършването на всички макроси, така че не е нужно да използвате действието ClearMacroError в края на макрос.
-
Обектът MacroError съдържа информация само за една грешка в даден момент. Ако в макрос е възникнала повече от една грешка, обектът MacroError съдържа информация само за последната грешка.
-
За да изпълните действието ClearMacroError във VBA модул, използвайте метода ClearMacroError на обекта DoCmd.
Пример
Следващият макрос използва действието OnError с аргумента Следващ, за да забрани съобщенията за грешка, и след това използва действието OpenForm, за да отвори формуляр. За този пример нарочно е създадена грешка с помощта на действието GoToRecord, за да се отиде на предишния запис. Условието [MacroError].[Number] <> 0 тества обекта MacroError. Ако е възникнала грешка, номерът на грешката не е нула и се изпълнява действието MsgBox. В полето за съобщения се показва името на действието, причинило грешката (в този случай действието GoToRecord) и се показва номерът на грешка. И накрая, изпълнението на действието ClearMacroError изчиства обекта MacroError.
Условие |
Действие |
Аргументи |
OnError |
Отиди на: Следващ |
|
OpenForm |
Име на формуляр: CategoryForm Изглед: Формуляр Режим на прозорец: Нормален |
|
GoToRecord |
Тип на обекта: Формуляр Име на обекта: CategoryForm Запис: Предишен |
|
[MacroError].[Number] <> 0 |
MsgBox |
Съобщение: ="Грешка с номер " & [MacroError].[Number] & " в действие " & [MacroError].[ActionName] & "." Звуков сигнал: Да Тип: Информация |
ClearMacroError |