Varat izmantot darbību CancelEvent, lai atceltu notikums, kas lika Access palaist makro ar šo darbību. Makro nosaukums ir notikuma rekvizītu iestatījums, piemēram, BeforeUpdate, OnOpen, OnUnload vai OnPrint.
Piezīme.: Makro darbība CancelEvent nav pieejama Access tīmekļa lietojumprogrammās.
Iestatīšana
Darbībai CancelEvent nav argumentu.
Piezīmes
Programmā forma parasti tiek lietota darbība CancelEventvalidēšana makro ar notikuma rekvizītu BeforeUpdate. Kad lietotājs ievada datus vadīkla vai ieraksts, pirms datu pievienošanas datu bāzei Access izpilda makro. Ja dati neatbilst makro validācijas nosacījumiem, darbība CancelEvent atceļ atjaunināšana procesu pirms tā palaišanas.
Bieži vien jūs izmantojat šo darbību ar darbību MsgBox, lai norādītu, ka dati neatbilst validācijas nosacījumiem un sniegtu noderīgu informāciju par to, kādi dati ir jāievada.
Darbība CancelEvent var atcelt šādus notikumus.
ApplyFilter |
Netīrs |
MouseDown |
BeforeDelConfirm |
Iziet |
NoData |
BeforeInsert |
Filtrs |
Atvērt |
BeforeUpdate |
Formāts |
Drukāt |
DblClick |
KeyPress |
Noņemt |
Dzēst |
Piezīme.: Darbību CancelEvent notikumam MouseDown varat izmantot tikai, lai atceltu notikumu, kas tiek veikts, kad ar peles labo pogu noklikšķināt uz objekta.
Ja vadīklas OnDblClick notikuma rekvizīta iestatījums norāda makro, kas ietver darbību CancelEvent, darbība atceļ notikumu DblClick.
Notikumu, kurus var atcelt, noklusējuma darbība notikumam (t.i., ko Access parasti dara, kad notiek notikums) notiek pēc notikuma makro izpildes. Tas ļauj atcelt noklusējuma darbību. Piemēram, veicot dubultklikšķi uz vārdu, kura ievietošanas punkts aktīvs tekstlodziņš, programma Access parasti atlasa vārdu. Varat atcelt šo makro noklusējuma darbību notikumam DblClick un veikt citas darbības, piemēram, atvērt formu, kurā ir informācija par tekstlodziņa datiem. Notikumiem, kurus nevar atcelt, noklusējuma darbība notiek pirms tiek izpildīts makro.
Piezīme.: Ja veidlapas notikuma OnUnload rekvizīts norāda makro, kas veic darbību CancelEvent, formu nevarēs aizvērt. Labojiet nosacījumu, kas izraisīja darbības CancelEvent veikšanu, vai atveriet makro un izdzēsiet darbību CancelEvent. Ja forma ir modāls formu, makro nevarēs atvērt.
Lai veiktu darbību CancelEvent modulī Visual Basic for Applications (VBA), izmantojiet CancelEvent metodi, kas pieejama DoCmd objektam.
Piemērs
Datu validēšana, izmantojot makro
Šis validācijas makro pārbauda formā Piegādātāji ievadītos pasta indeksus. Tas parāda darbību StopMacro, MsgBox, CancelEvent un GoToControl lietojumu. Nosacījuma izteiksme pārbauda, valsti/reģionu un pasta indeksu, kas ievadīts formas ierakstā. Ja pasta indekss nav valstij/reģionam atbilstošā formātā, makro parāda ziņojuma lodziņu un atceļ ieraksta saglabāšanu. Pēc tam jūs tiekat atgriezts vadīklā Pasta indekss, kur varat izlabot kļūdu. Šis makro ir jāpievieno formas Piegādātāji rekvizītam BeforeUpdate.
Nosacījums |
Darbība |
Argumenti: Iestatīšana |
Komentārs |
IsNull([CountryRegion]) |
StopMacro |
Ja CountryRegion ir Null, pasta indeksu nevar validēt. |
|
[CountryRegion] In ("France","Italy","Spain") And Len([Postal Code]) <> 5 |
MsgBox |
Ziņojums: Pasta indeksā jābūt 5 rakstzīmēm. Beep: Jā Tips: Informācija Nosaukums: Pasta indeksa kļūda |
Ja pasta indeksā nav 5 rakstzīmes, parādīt ziņojumu. |
... |
CancelEvent |
Atcelt notikumu. |
|
GoToControl |
Vadīklas nosaukums: PostalCode |
||
[CountryRegion] In ("Australia","Singapore") And Len([Postal Code]) <> 4 |
MsgBox |
Ziņojums: Pasta indeksā jābūt 4 rakstzīmēm. Beep: Jā Tips: Informācija Nosaukums: Pasta indeksa kļūda |
Ja pasta indeksā nav 4 rakstzīmes, parādīt ziņojumu. |
... |
CancelEvent |
Atcelt notikumu. |
|
GoToControl |
Vadīklas nosaukums: PostalCode |
||
([CountryRegion] = "Canada") And ([Postal Code] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
MsgBox |
Ziņojums: Pasta indekss nav derīgs. Kanādas indeksa piemērs: H1J 1C 3 Beep: Jā Tips: Informācija Nosaukums: Pasta indeksa kļūda |
Ja pasta indekss Kanādai nav pareizs, parādīt ziņojumu. (Kanādas indeksa piemērs: H1J 1C3) |
... |
CancelEvent |
Atcelt notikumu. |