Макрокоманда StopMacro
Область применения: Access 2013, Office 2013
Чтобы остановить текущий макрос, можно использовать действие StopMacro .
Setting
У действия StopMacro нет аргументов.
Замечания
Обычно это действие используется, когда условие заставляет остановить макрос. Условное выражение можно использовать в строке действия макроса, содержащей это действие. Когда выражение принимает значение True (–1), Microsoft Access останавливает макрос.
Например, можно создать макрос, который открывает форму, показывающую итоги по дням, введенным в пользовательском диалоговом окне. Условное выражение можно использовать, чтобы убедиться, что элемент управления Дата заказа в диалоговом окне содержит допустимую дату. В противном случае действие MessageBox может отобразить сообщение об ошибке, а действие StopMacro может остановить макрос.
Если макрос использовал действия Echo или SetWarnings для отключения эха или отображения системных сообщений, действие StopMacro автоматически включает их.
Это действие недоступно в модуле Visual Basic для приложений (VBA).
Пример
В следующем макросе показано использование действия OnError . В этом примере действие OnError указывает, что при возникновении ошибки Access запускает настраиваемый макрос обработки ошибок с именем ErrorHandler. При возникновении ошибки вызывается подмакро CatchErrors. Если номер ошибки равен 2102, отображается определенное сообщение и выполнение макроса останавливается. В противном случае отображается сообщение с описанием ошибки, а макрос приостанавливается, чтобы можно было выполнить дополнительные действия по устранению неполадок. Макрос ErrorHandler отображает окно сообщения, которое ссылается на объект MacroError для отображения сведений об ошибке.
Пример кода изсправочника программиста Microsoft Access 2010.
/* MACRO: mcrThrowErrors */
/* PURPOSE: Error handling using macros in Access 2010 */
OnError
Go to Macro Name
Macro Name CatchErrors
OpenForm
Form Name frmSamples
View Form
Filter Name
Where Condition
Data Mode
Window Mode Normal
MessageBox
Message This message appears after the OpenForm action
Beep Yes
Type None
Title
/* SUBMACRO: CatchErrors */
SubMacro: CatchErrors
If [MacroError].[Number]=2101 Then
MessageBox
Message Cannot find the specified form!
Beep Yes
Type Critical
Title
StopMacro
Else
MessageBox
Message =[MacroErro].[Description]
Beep Yes
Type None
Title Unhandled Error
SingleStep
End If
End SubMacro