Макрокоманда «ОтменитьСобытие»

С помощью макрокоманды ОтменитьСобытие можно отменить событие, которое вызвало в Access выполнение макроса, содержащего эту макрокоманду. Имя макроса — параметр свойства события, например BeforeUpdate, OnOpen, OnUnload или OnPrint.

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

Настройка

У макрокоманды ОтменитьСобытие нет аргументов.

Замечания

В форме макрокоманда ОтменитьСобытие обычно используется в макросе проверки со свойством события BeforeUpdate. Когда пользователь вводит данные в элемент управления или запись, Access выполняет этот макрос, прежде чем вносить данные в базу данных. Если данные не соответствуют условиям проверки в макросе, макрокоманда ОтменитьСобытие отменяет процесс обновления до его начала.

Часто эта макрокоманда используется совместно с макрокомандой ОкноСообщения, что позволяет указать на несоответствие данных условиям проверки и предоставить полезные сведения о типе данных, которые требуется ввести.

Ниже перечислены события, которые можно отменить с помощью макрокоманды ОтменитьСобытие.

ApplyFilter

Dirty

MouseDown

BeforeDelConfirm

Exit

NoData

BeforeInsert

Filter

Open

BeforeUpdate

Format

Print

DblClick

KeyPress

Unload

Delete


Примечание : Макрокоманду ОтменитьСобытие можно использовать совместно с событием MouseDown только для отмены события, которое возникает, если щелкнуть объект правой кнопкой мыши.

Если параметр свойства события OnDblClick элемента управления указывает на макрос с макрокомандой ОтменитьСобытие, она отменяет событие DblClick.

После выполнения макроса для события, которое можно отменить, соблюдается порядок действий по умолчанию (это действия, которые Access обычно выполняет при возникновении события). Вы можете отменить этот порядок действий по умолчанию. Например, если в текстовом поле дважды щелкнуть слово, к которому привязана точка вставки, Access в обычном случае выделит его. Вы можете отменить такое поведение по умолчанию в макросе для события DblClick и выполнить другую макрокоманду, например открыть форму с информацией о данных в текстовом поле. Для событий, которые невозможно отменить, порядок действий по умолчанию соблюдается до выполнения макроса.

Примечание : Если свойство события OnUnload формы указывает на макрос с макрокомандой ОтменитьСобытие, эту форму закрыть невозможно. Вам необходимо исправить условие, вызывающее макрокоманду ОтменитьСобытие, или открыть макрос и удалить макрокоманду ОтменитьСобытие. Если форма является модальной, вы не сможете открыть этот макрос.

Чтобы выполнить макрокоманду ОтменитьСобытие в модуле Visual Basic для приложений (VBA), используйте метод ОтменитьСобытие объекта DoCmd.

Пример

Проверка данных с помощью макроса

Описанный ниже макрос проверки проверяет почтовые индексы, введенные в форме "Поставщики". В нем продемонстрировано использование макрокоманд ОстановитьМакрос, ОкноСообщения, ОтменитьСобытие и КЭлементуУправления. Условное выражение служит для проверки страны или региона и почтового индекса, введенного в запись в форме. Если почтовый индекс имеет неверный формат для указанной страны или региона, макрос отображает окно сообщения и отменяет сохранение записи. Затем он возвращает элемент управления "Почтовый индекс", в котором можно исправить ошибку. Этот макрос следует прикрепить к свойству BeforeUpdate формы "Поставщики".

Условие

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

Аргументы: параметр

Примечания

IsNull([СтранаРегион])

ОстановитьМакрос

Если СтранаРегион имеет значение Null, почтовый индекс не может быть проверен.

[СтранаРегион] In ("Франция","Италия","Испания") And Len([Почтовый индекс]) <> 5

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

Сообщение: Почтовый индекс должен содержать 5 символов.

Сигнал: Да

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

Название: Ошибка в почтовом индексе

Если почтовый индекс не состоит из 5 символов, отображается сообщение.

...

ОтменитьСобытие

Отменяет событие.

КЭлементуУправления

Имя элемента управления: ПочтовыйИндекс

[СтранаРегион] In ("Австралия","Сингапур") And Len([Почтовый индекс]) <> 4

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

Сообщение: Почтовый индекс должен содержать 4 символа.

Сигнал: Да

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

Название: Ошибка в почтовом индексе

Если почтовый индекс не состоит из 4 символов, отображается сообщение.

...

ОтменитьСобытие

Отменяет событие.

КЭлементуУправления

Имя элемента управления: ПочтовыйИндекс

([СтранаРегион] = "Канада") And ([Почтовый индекс] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]")

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

Сообщение: Недопустимый почтовый индекс. Пример индекса для Канады: H1J 1C3

Сигнал: Да

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

Название: Ошибка в почтовом индексе

Если почтовый индекс для Канады введен в неправильном формате, отображается сообщение. (Пример индекса для Канады: H1J 1C3)

...

ОтменитьСобытие

Отменяет событие.

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×