Przy użyciu akcji AnulujZdarzenie możesz anulować zdarzenie, z powodu którego program Access uruchomił makro zawierające tę akcję. Nazwa makra to ustawienie właściwości zdarzenia, takiej jak PrzedAktualizacją, PrzyOtwarciu, PrzyZwolnieniu lub PrzyWydruku.
Uwaga: Akcja makra AnulujZdarzenie nie jest dostępna w aplikacjach sieci Web programu Access.
Ustawienie
Akcja AnulujZdarzenie nie ma żadnych argumentów.
Spostrzeżenia
W formularz zazwyczaj używasz akcji AnulujZdarzeń w makrze sprawdzanie poprawności z właściwością zdarzenia BeforeUpdate . Gdy użytkownik wprowadzi dane w kontrolka lub rekord, program Access uruchomi makro przed dodaniem danych do bazy danych. Jeśli dane nie spełnią warunków sprawdzania poprawności w makrze, akcja AnulujZdarzeń anuluje proces aktualizacja przed rozpoczęciem.
Ta akcja jest często używana wraz z akcją OknoKomunikatu, aby poinformować użytkownika, że dane nie spełniają warunków sprawdzania poprawności, oraz przekazać mu informacje na temat tego, jakiego typu dane należy wprowadzić.
Akcji AnulujZdarzenie można użyć do anulowania następujących zdarzeń.
ZastosujFiltr |
Zanieczyszczone |
NaciśnięcieMyszy |
PrzedUsunięciem |
Zakończ |
BrakDanych |
PrzedWstawieniem |
Filtruj |
Otwórz |
PrzedAktualizacją |
Formatuj |
Drukuj |
KliknięcieDwukrotne |
NaciśnięcieKlawisza |
Zwolnij |
Usuń |
Uwaga: Akcji AnulujZdarzenie można użyć dla zdarzenia NaciśnięcieMyszy tylko, aby anulować zdarzenie występujące po kliknięciu obiektu prawym przyciskiem myszy.
Jeśli ustawienie właściwości zdarzenia PrzyKliknięciuDwukrotnym kontrolki wskazuje makro zawierające akcję AnulujZdarzenie, akcja ta powoduje anulowanie zdarzenia KliknięcieDwukrotne.
W przypadku zdarzeń, które można anulować, po uruchomieniu makra dla zdarzenia występuje zachowanie domyślne (czyli zwykle robi to program Access w przypadku wystąpienia zdarzenia). Dzięki temu można anulować zachowanie domyślne. Na przykład dwukrotne kliknięcie wyrazu, na którym znajduje się punkt wstawiania w pole tekstowe, program Access zwykle zaznacza ten wyraz. To zachowanie domyślne można anulować w makrze zdarzenia DblClick i wykonać inne akcje, takie jak otwarcie formularza zawierającego informacje o danych w polu tekstowym. W przypadku zdarzeń, których nie można anulować, zachowanie domyślne występuje przed uruchomieniem makra.
Uwaga: Jeśli właściwość zdarzenia PrzyNaładowywanie formularza określa makro wykonujące akcję AnulujZdarzeń , nie będzie można zamknąć formularza. Należy poprawić warunek, który spowodował wykonanie akcji AnulujZdarzeń , lub otworzyć makro i usunąć akcję AnulujZdarzeń . Jeśli formularz jest formularzem modalność, nie będzie można otworzyć makra.
Aby uruchomić akcję AnulujZdarzenie w module języka Visual Basic for Applications (VBA), użyj metody CancelEvent obiektu DoCmd.
Przykład
Sprawdzanie poprawności danych przy użyciu makra
Poniższe makro sprawdza poprawność kodów pocztowych wprowadzonych w formularzu Dostawcy. Jest to przykład zastosowania akcji ZatrzymajMakro, OknoKomunikatu, AnulujZdarzenie oraz PrzejdźDoKontrolki. Wyrażenie warunkowe sprawdza kraj/region oraz kod pocztowy, które wprowadzono w rekordzie w formularzu. Jeśli kod pocztowy nie jest w formacie odpowiednim dla kraju/regionu, makro powoduje wyświetlenie okna komunikatu i anuluje zapisanie rekordu. Następnie powoduje powrót do kontrolki Kod pocztowy, gdzie można poprawić błędne dane. To makro powinno być dołączone do właściwości PrzedAktualizacją formularza Dostawcy.
Warunek |
Akcja |
Argumenty: ustawienie |
Komentarz |
IsNull([KrajRegion]) |
ZatrzymajMakro |
Jeśli pole KrajRegion ma wartość Null, nie można sprawdzić poprawności kodu pocztowego. |
|
[KrajRegion] In ("Francja","Włochy","Hiszpania") And Len([kod pocztowy]) <> 5 |
OknoKomunikatu |
Komunikat: Kod pocztowy musi zawierać 5 znaków. SygnalizujDźwiękiem: Tak Typ: Informacja Tytuł: Nieprawidłowy kod pocztowy |
Wyświetl komunikat, jeśli kod pocztowy nie jest 5-znakowy. |
... |
AnulujZdarzenie |
Anuluj zdarzenie. |
|
PrzejdźDoKontrolki |
Nazwa kontrolki: KodPocztowy |
||
[KrajRegion] In ("Australia","Singapur") And Len([kod pocztowy]) <> 4 |
OknoKomunikatu |
Komunikat: Kod pocztowy musi zawierać 4 znaki. SygnalizujDźwiękiem: Tak Typ: Informacja Tytuł: Nieprawidłowy kod pocztowy |
Wyświetl komunikat, jeśli kod pocztowy nie jest 4-znakowy. |
... |
AnulujZdarzenie |
Anuluj zdarzenie. |
|
PrzejdźDoKontrolki |
Nazwa kontrolki: KodPocztowy |
||
([KrajRegion] = "Kanada") And ([Kod pocztowy] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
OknoKomunikatu |
Komunikat: Kod pocztowy jest nieprawidłowy. Przykładowy kod dla Kanady: H1J 1C3 SygnalizujDźwiękiem: Tak Typ: Informacja Tytuł: Nieprawidłowy kod pocztowy |
Wyświetl komunikat, jeśli kod pocztowy nie jest kodem właściwym dla Kanady. (Przykładowy kod dla Kanady: H1J 1C3) |
... |
AnulujZdarzenie |
Anuluj zdarzenie. |