Applies ToAccess за Microsoft 365 Access 2021 Access 2019 Access 2016

Можете да използвате действието CancelEvent , за да отмените събитие, поради което Access да изпълни макрос, съдържащ това действие. Името на макроса е настройката на свойство на събитие, като например BeforeUpdate, OnOpen, OnUnload или OnPrint.

Забележка: Макрокомандата CancelEvent не е налична в уеб приложенията на Access.

Настройка

Действието CancelEvent няма никакви аргументи.

Забележки

В един формуляр обикновено използвате действието CancelEvent в макрос за проверка със свойството на събитието BeforeUpdate. Когато потребителят въведе данни в контрола или запис, Access изпълнява макроса, преди да добави данните към базата данни. Ако данните не отговарят на условията за проверка в макроса, действието CancelEvent анулира процеса на актуализация, преди да е започнал.

Често това действие се използва с действието MsgBox, за да се укаже, че данните не отговарят на условията за проверка, и да се предостави полезна информация за вида данни, които трябва да бъдат въведени.

Следните събития могат да бъдат отменени чрез действието CancelEvent.

ApplyFilter

Dirty

MouseDown

BeforeDelConfirm

Exit

NoData

BeforeInsert

Filter

Open

BeforeUpdate

Format

Print

DblClick

KeyPress

Unload

Delete

Забележка: Можете да използвате действието CancelEvent със събитието MouseDown само за да отмените събитието, което настъпва при щракване с десния бутон върху обект.

Ако настройката на свойството на събитието OnDblClick на контрола указва макрос, който съдържа действието CancelEvent, действието отменя събитието DblClick.

За събития, които могат да бъдат отменени, поведението по подразбиране за събитието (т.е. това, което Access обикновено прави, когато възникне събитието) се проявява, след като се изпълни макросът за събитието. Това ви позволява да отмените поведението по подразбиране. Например когато в текстово поле щракнете двукратно върху дума, върху която е точката на вмъкване, Access обикновено избира думата. Можете да отмените това поведение по подразбиране в макроса за събитието DblClick и да извършвате някакво друго действие, като например отваряне на формуляр с информация за данните в текстовото поле. За събития, които не могат да бъдат отменени, поведението по подразбиране се проявява, преди да се изпълни макросът.

Забележка: Ако свойството на събитието OnUnload за формуляр указва макрос, който извършва действието CancelEvent, няма да можете да затворите формуляра. Ще трябва или да коригирате условието, довело до извършване на действието CancelEvent, или да отворите макроса и да изтриете действието CancelEvent. Ако формулярът е модален формуляр, няма да можете да отворите макроса.

За да извършите действието CancelEvent в модул на Visual Basic for Applications (VBA), използвайте метода CancelEvent на обекта DoCmd.

Пример

Проверка на данни с помощта на макрос

Следващият макрос за проверка проверява пощенските кодове, въведени във формуляра "Доставчици". Той илюстрира използването на действията StopMacro, MsgBox, CancelEvent и GoToControl. Условният израз проверява страната/региона и пощенския код, въведени в запис във формуляра. Ако пощенският код не е в правилния формат за страната/региона, макросът показва прозорец за съобщение и отменя записването на записа. След това ви връща към контролата за пощенския код, където можете да коригирате грешката. Този макрос трябва да бъдат прикачен към свойството BeforeUpdate на формуляра "Доставчици".

Условие

Действие

Аргументи: настройка

Коментар

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

StopMacro

Ако "СтранаРегион" е Null, пощенският код не може да бъде проверен.

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

MsgBox

Съобщение: Пощенският код трябва да съдържа 5 знака.

Звуков сигнал: Да

Тип: Информация

Заглавие: Грешка в пощенския код

Ако пощенският код не е от 5 знака, се показва съобщение.

...

CancelEvent

Отмяна на събитието.

GoToControl

Име на контролата: Пощенски код

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

MsgBox

Съобщение: Пощенският код трябва да съдържа 4 знака.

Звуков сигнал: Да

Тип: Информация

Заглавие: Грешка в пощенския код

Ако пощенският код не е от 4 знака, се показва съобщение.

...

CancelEvent

Отмяна на събитието.

GoToControl

Име на контролата: Пощенски код

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

MsgBox

Съобщение: Пощенският код не е валиден. Пример за канадски код: H1J 1C3

Звуков сигнал: Да

Тип: Информация

Заглавие: Грешка в пощенския код

Ако пощенският код за Канада е грешен, се показва съобщение. (Пример за канадски код: H1J 1C3)

...

CancelEvent

Отмяна на събитието.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.