Pomocí akce ZrušitEvent můžete zrušit Událost, která způsobila, že Access spustila Makro obsahující tuto akci. Název makra je nastavení vlastnosti události, například BeforeUpdate, OnOpen, OnUnload nebo OnPrint.
Poznámka: Akce makra ZrušitUdálost není dostupná ve webových aplikacích pro Access.
Nastavení
Akce ZrušitUdálost nemá žádné argumenty.
Poznámky
V Formulář obvykle používáte akci CancelEvent v makru Ověření s vlastností události BeforeUpdate . Když uživatel zadá data do Ovládací prvek nebo Záznam, Access před přidáním dat do databáze spustí makro. Pokud data nesplní ověřovací podmínky v makru, akce ZrušitEvent zruší proces Aktualizace před jeho zahájením.
Tato akce se často používá společně s akcí OknoSeZprávou, která označí, že data nesplňují podmínky ověřování, a poskytne užitečné informace o typu dat, která je potřeba zadat.
Pomocí akce ZrušitUdálost je možné zrušit následující události.
PoužítFiltr |
Dirty |
.Přistiskutlačítkamyši |
.Předpotvrzenímodstranění |
Ukončit |
NoData |
.Předvložením |
Filtr |
Otevřít |
.Předaktualizací |
Formát |
Tisk |
.Připoklepnutí |
.Přiúhozunaklávesu |
.PřiVyřazení |
Odstranit |
Poznámka: Akci ZrušitUdálost je možné použít s událostí .Přistiskutlačítkamyši pouze ke zrušení události, ke které dojde při kliknutí na objekt pravým tlačítkem myši.
Pokud je v nastavení vlastnosti události .Připoklepnutí ovládacího prvku zadáno makro obsahující akci ZrušitUdálost, zruší daná akce událost .Připoklepnutí.
U událostí, které je možné zrušit, se výchozí chování události (to, co Access obvykle dělá, když dojde k události) stane po spuštění makra pro danou událost. To vám umožní zrušit výchozí chování. Když například dvakrát kliknete na slovo, na které je kurzor v Textové pole, Access slovo normálně vybere. Toto výchozí chování v makru pro událost DblClick můžete zrušit a provést nějakou jinou akci, například otevřít formulář obsahující informace o datech v textovém poli. U událostí, které nelze zrušit, výchozí chování nastane před spuštěním makra.
Poznámka: Pokud je ve vlastnosti události .PřiVyřazení formuláře zadáno makro, které provádí akci ZrušitUdálost, nebude možné formulář zavřít. Je nutné opravit podmínku, která způsobila provedení akce ZrušitUdálost, nebo otevřít makro a odstranit akci ZrušitUdálost. V případě, že se jedná o Modální formulář, nebude možné makro otevřít.
Pokud chcete akci ZrušitUdálost provést v modulu Visual Basic for Applications (VBA), použijte metodu CancelEvent objektu DoCmd.
Příklad
Ověření dat pomocí makra
Následující ověřovací makro zkontroluje PSČ zadaná ve formuláři Dodavatelé. Příklad zobrazuje použití akcí ZastavitMakro, OknoSeZprávou, ZrušitUdálost a PřejítNaOvládacíPrvek. Podmíněný výraz zkontroluje zemi nebo oblast a PSČ zadané v záznamu ve formuláři. Pokud není PSČ pro zemi/oblast ve správném formátu, zobrazí makro okno se zprávou a zruší ukládání záznamu. Přejde potom k ovládacímu prvku PSČ, ve kterém můžete chybu opravit. Toto makro je třeba připojit k vlastnosti .Předaktualizací formuláře Dodavatelé.
Podmínka |
Akce |
Argumenty: Nastavení |
Komentář |
IsNull([Země]) |
ZastavitMakro |
Pokud pole Země obsahuje hodnotu Null, není možné ověřit PSČ. |
|
[Země] In ("Francie","Itálie","Španělsko") And Len([PSČ]) <> 5 |
OknoSeZprávou |
Zpráva: PSČ musí mít 5 znaků. Zvukový signál: Ano Typ: Informační zpráva Titulek: Chyba PSČ |
Pokud PSČ neobsahuje 5 znaků, zobrazí se zpráva. |
... |
ZrušitUdálost |
Zruší událost. |
|
PřejítNaOvládacíPrvek |
Název ovládacího prvku: PSČ |
||
[Země] In ("Austrálie","Singapur") And Len([PSČ]) <> 4 |
OknoSeZprávou |
Zpráva: PSČ musí mít 4 znaky. Zvukový signál: Ano Typ: Informační zpráva Název: Chyba PSČ |
Pokud PSČ neobsahuje 4 znaky, zobrazí se zpráva. |
... |
ZrušitUdálost |
Zruší událost. |
|
PřejítNaOvládacíPrvek |
Název ovládacího prvku: PSČ |
||
([Země] = "Kanada") And ([PSČ] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
OknoSeZprávou |
Zpráva: PSČ není platné. Příklad kanadského PSČ: H1J 1C3 Zvukový signál: Ano Typ: Informační zpráva Název: Chyba PSČ |
Pokud PSČ není platné pro Kanadu, zobrazí se zpráva. (Příklad kanadského PSČ: H1J 1C3) |
... |
ZrušitUdálost |
Zruší událost. |