Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

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

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

Настройка

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

Замечания

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

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

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

ApplyFilter

Dirty

MouseDown

BeforeDelConfirm

Exit

NoData

BeforeInsert

Filter

Open

BeforeUpdate

Format

Print

DblClick

KeyPress

Unload

Delete


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

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

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

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

Чтобы выполнить макрокоманду ОтменитьСобытие в модуле 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)

...

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

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

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

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

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

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

×