È possibile usare l'azione AnnullaEvento per annullare l'evento che ha causato l'esecuzione della macro che la contiene in Access. Il nome della macro corrisponde all'impostazione di una proprietà evento, come PrimaDiAggiornare, SuApertura, SuScaricamento o SuStampa.
Nota: L'azione di macro AnnullaEvento non è disponibile nelle app Web di Access.
Impostazione
L'azione AnnullaEvento non ha argomenti.
Osservazioni
In una maschera, l'azione AnnullaEvento viene in genere usata in una macro di convalida con la proprietà evento PrimaDiAggiornare. Quando un utente immette dati in un controllo o in un record, Access esegue la macro prima di aggiungere i dati al database. Se i dati non soddisfano le condizioni di convalida della macro, l'azione AnnullaEvento annulla il processo di aggiornare prima dell'avvio.
Questa azione si usa spesso insieme all'azione FinestraMessaggio per indicare che i dati non hanno soddisfatto le condizioni di convalida e per fornire informazioni utili sul tipo di dati che è necessario immettere.
L'azione AnnullaEvento può essere usata per annullare gli eventi seguenti.
ApplicaFiltro |
InAttesa |
SuPulsanteMouseGiù |
PrimaDiConfermaEliminazione |
Esci |
SuReportVuoto |
PrimaDiInserire |
Filtro |
Aperto |
PrimaDiAggiornare |
Formato |
Stampa |
SuDoppioClic |
SuPressione |
SuScaricamento |
Elimina |
Nota: È possibile usare l'azione AnnullaEvento con l'evento SuPulsanteMouseGiù solo per annullare l'evento che si verifica quando si fa clic con il pulsante destro del mouse su un oggetto.
Se l'impostazione della proprietà evento SuDoppioClic di un controllo specifica una macro contenente l'azione AnnullaEvento, l'azione annulla l'evento SuDoppioClic.
Per gli eventi che possono essere annullati, il comportamento predefinito (ossia l'operazione eseguita in genere da Access quando si verifica l'evento) si verifica dopo l'esecuzione della macro. Questa azione consente di annullare il comportamento predefinito. Ad esempio, quando si fa doppio clic su una parola su cui è posizionato il punto di inserimento in una casella di testo, Access normalmente seleziona la parola. È possibile annullare questo comportamento predefinito nella macro per l'evento SuDoppioClic ed eseguire un'altra azione, ad esempio aprire una maschera contenente informazioni sui dati della casella di testo. Per gli eventi che non possono essere annullati, il comportamento predefinito si verifica prima dell'esecuzione della macro.
Nota: Se la proprietà evento SuScaricamento di una maschera specifica una macro che esegue un'azione AnnullaEvento, non sarà possibile chiudere la maschera. È necessario correggere la condizione che ha causato l'esecuzione dell'azione AnnullaEvento oppure aprire la macro ed eliminare l'azione AnnullaEvento. Se la maschera è modale, non sarà possibile aprire la macro.
Per eseguire l'azione AnnullaEvento in un modulo di Visual Basic, Applications Edition (VBA), usare il metodo CancelEvent dell'oggetto DoCmd.
Esempio
Convalidare i dati tramite una macro
La seguente macro di convalida controlla i codici postali immessi in una maschera Fornitori. Dimostra l'uso delle azioni ArrestaMacro, FinestraMessaggio, AnnullaEvento e VaiAControllo. Un'espressione condizionale controlla il paese/area geografica e il codice postale immessi in un record della maschera. Se il formato del codice postale non è corretto per il paese/area geografica, la macro visualizza una finestra di messaggio e annulla il salvataggio del record. Torna quindi nel controllo Codice postale, dove è possibile correggere l'errore. Questa macro dovrebbe essere collegata alla proprietà PrimaDiAggiornare della maschera Fornitori.
Condizione |
Azione |
Argomenti: impostazione |
Commento |
IsNull([PaeseAreaGeografica]) |
ArrestaMacro |
Se PaeseAreaGeografica è Null, il codice postale non può essere convalidato. |
|
[PaeaseAreaGeografica] In ("Francia","Italia","Spagna") And Len([Codice Postale]) <> 5 |
FinestraMessaggio |
Messaggio: Il codice postale deve essere composto da 5 caratteri. SegnaleAcustico: Sì Tipo: Informazioni Titolo: Errore codice postale |
Se il codice postale non è composto da 5 caratteri, visualizza un messaggio. |
... |
AnnullaEvento |
Annulla l'evento. |
|
VaiAControllo |
Nome controllo: CodicePostale |
||
[PaeseAreaGeografica] In ("Australia","Singapore") And Len([Codice postale]) <> 4 |
FinestraMessaggio |
Messaggio: Il codice postale deve essere composto da 4 caratteri. SegnaleAcustico: Sì Tipo: Informazioni Titolo: Errore codice postale |
Se il codice postale non è composto da 4 caratteri, visualizza un messaggio. |
... |
AnnullaEvento |
Annulla l'evento. |
|
VaiAControllo |
Nome controllo: CodicePostale |
||
([PaeseAreaGeografica] = "Canada") And ([Codice postale] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
FinestraMessaggio |
Messaggio: Il codice postale non è valido. Esempio di codice canadese: H1J 1C3 SegnaleAcustico: Sì Tipo: Informazioni Titolo: Errore codice postale |
Se il codice postale non è corretto per il Canada, visualizza un messaggio. Esempio di codice canadese: H1J 1C3 |
... |
AnnullaEvento |
Annulla l'evento. |