Ordine degli eventi per gli oggetti di database

Importante :  Il presente articolo è stato tradotto automaticamente, vedere la dichiarazione di non responsabilità. Per visualizzare la versione inglese dell'articolo, fare clic qui.

Una sola azione, come il passaggio da un controllo su un oggetto a un altro controllo, può attivare diversi eventi che si verificano in una determinata sequenza. È importante sapere quando e in quale ordine si verificano gli eventi, perché questi due aspetti possono influire sul modo e sul momento di esecuzione di macro e routine evento. Se ad esempio sono presenti due routine evento che devono essere eseguite in un determinato ordine, è necessario assicurarsi che gli eventi ai quali sono associate si verifichino nello stesso ordine.

In questo articolo

Ordine degli eventi per i controlli sulle maschere

Ordine degli eventi per i record sulle maschere

Ordine degli eventi per le maschere e le sottomaschere

Ordine degli eventi per le sequenze di tasti e i clic del mouse

Ordine degli eventi per i report e le sezioni di report

Ordine degli eventi per i controlli sulle maschere

Gli eventi per i controlli sulle maschere si verificano quando si sposta lo stato attivo su un controllo e quando vengono modificati e aggiornati i dati in un controllo.

Nota : In Microsoft Office Access i nomi degli eventi sono in inglese in Visual Basic Editor, mentre sono localizzati nella finestra delle proprietà e nel Generatore di macro. L'evento denominato Su attivato nella finestra delle proprietà e nel Generatore di macro è riportato con il nome GotFocus in Visual Basic Editor. Negli esempi di questo articolo per i nomi degli eventi viene usato il formato di Visual Basic, Applications Edition (VBA).

Spostamento dello stato attivo su un controllo

Quando lo stato attivo viene spostato su un controllo in una maschera, ad esempio se si apre una maschera che contiene uno o più controlli attivi o ci si sposta su un controllo diverso nella stessa maschera, gli eventi Enter e GotFocus si verificano nel seguente ordine:

Enter Freccia GotFocus

Quando si apre una maschera, gli eventi Enter e GotFocus si verificano dopo gli eventi associati all'apertura della maschera, ad esempio Open, Activate e Current, come riportato di seguito:

Open (maschera) Freccia Activate (maschera) Freccia Current (maschera) Freccia Enter (controllo) Freccia GotFocus (controllo)

Quando un controllo di una maschera perde lo stato attivo, ad esempio quando si chiude una maschera che contiene uno o più controlli attivi oppure quando ci si sposta su un controllo diverso nella stessa maschera, gli eventi Exit e LostFocus si verificano nell'ordine seguente:

Exit Freccia LostFocus

Quando si chiude una maschera, gli eventi Exit e LostFocus si verificano prima degli eventi associati alla chiusura della maschera, ad esempio Unload, Deactivate e Close, come riportato di seguito:

Exit (controllo) Freccia LostFocus (controllo) Freccia Unload (maschera) Freccia Deactivate (maschera) Freccia Close (maschera)

Modifica e aggiornamento dei dati di un controllo

Quando si immettono o si modificano dati in un controllo di una maschera e quindi si sposta lo stato attivo su un controllo diverso, si verificano gli eventi BeforeUpdate e AfterUpdate:

BeforeUpdate Freccia AfterUpdate

Gli eventi Exit e LostFocus del controllo di cui si modifica il valore si verificano dopo gli eventi BeforeUpdate e AfterUpdate:

BeforeUpdate Freccia AfterUpdate Freccia Exit Freccia LostFocus

Quando si modifica il testo in una casella di testo o nella sezione casella di testo di una casella combinata, si verifica l'evento Change. Questo evento si verifica ogni volta che il contenuto del controllo viene modificato, ma prima dello spostamento dello stato attivo su un controllo o un record diverso, pertanto prima che si verifichino gli eventi BeforeUpdate e AfterUpdate. La sequenza di eventi riportata di seguito si verifica per ogni tasto che viene premuto in una casella di testo o nella sezione casella di testo di una casella combinata:

KeyDown Freccia KeyPress Freccia Dirty Freccia Change Freccia KeyUp

L'evento NotInList si verifica se si immette in una casella combinata un valore non contenuto nell'elenco della casella combinata e in seguito si tenta di spostare lo stato attivo su un altro controllo o record. L'evento NotInList si verifica dopo gli eventi della tastiera e gli eventi Change relativi alla casella combinata, ma prima degli eventi relativi agli altri controlli o alla maschera. Se la proprietà LimitToList della casella combinata è impostata su Sì, l'evento Error della maschera si verifica subito dopo l'evento NotInList:

KeyDown Freccia KeyPress Freccia Dirty Freccia Change Freccia KeyUp Freccia NotInList Freccia Error

Inizio pagina

Ordine degli eventi per i record sulle maschere

Gli eventi relativi ai record sulle maschere si verificano quando si sposta lo stato attivo su un record diverso, si aggiornano i dati di un record o si eliminano uno o più record esistenti oppure si crea un nuovo record.

Spostamento dello stato attivo su record e aggiornamento di dati dei record

Quando si sposta lo stato attivo su un record esistente di una maschera, si immettono o si modificano i dati nel record e quindi si sposta lo stato attivo su un record diverso, per la maschera si verifica la sequenza di eventi seguente:

Current (maschera) Freccia BeforeUpdate (maschera) Freccia AfterUpdate (maschera) Freccia Current (maschera)

Dopo l'uscita dal record di cui sono stati modificati i dati e prima dell'entrata nel record successivo, si verificano gli eventi Exit e LostFocus per il controllo con lo stato attivo. Questi eventi si verificano dopo gli eventi BeforeUpdate e AfterUpdate relativi alla maschera, come riportato di seguito:

BeforeUpdate (maschera) Freccia AfterUpdate (maschera) Freccia Exit (controllo) Freccia LostFocus (controllo) Freccia RecordExit (maschera) Freccia Current (maschera)

Durante lo spostamento dello stato attivo tra i controlli di una maschera, si verificano eventi per ogni controllo. Si verificano ad esempio le sequenze di eventi riportate di seguito quando si eseguono le operazioni seguenti:

  • Apertura di una maschera e modifica dei dati di un controllo:

    Current (maschera) Freccia Enter (controllo) Freccia GotFocus (controllo) Freccia BeforeUpdate (controllo) Freccia AfterUpdate (controllo)

  • Spostamento dello stato attivo su un controllo diverso:

    Exit (controllo1) Freccia LostFocus (controllo1) Freccia Enter (controllo2) Freccia GotFocus (controllo2)

  • Spostamento dello stato attivo su un record diverso:

    BeforeUpdate (maschera) Freccia AfterUpdate (maschera) Freccia Exit (controllo2) Freccia LostFocus (controllo2) Freccia RecordExit (maschera) Freccia Current (maschera)

Eliminazione di record

Quando si elimina un record, per la maschera si verificano gli eventi riportati di seguito e Microsoft Office Access visualizza una finestra di dialogo in cui viene chiesto di confermare l'eliminazione:

Delete Freccia BeforeDelConfirm Freccia AfterDelConfirm

Se si annulla l'evento Delete, gli eventi BeforeDelConfirm e AfterDelConfirm non si verificano e la finestra di dialogo non viene visualizzata.

Creazione di un nuovo record

Quando si sposta lo stato attivo su un record nuovo (vuoto) in una maschera e quindi si crea un nuovo record digitando dati in un controllo, si verifica la sequenza di eventi seguente:

Current (maschera) Freccia Enter (controllo) Freccia GotFocus (controllo) Freccia BeforeInsert (maschera) Freccia AfterInsert (maschera)

Gli eventi BeforeUpdate e AfterUpdate per i controlli sulla maschera e per il nuovo record si verificano dopo l'evento BeforeInsert e prima dell'evento AfterInsert.

Inizio pagina

Ordine degli eventi per le maschere e le sottomaschere

Gli eventi relativi alle maschere si verificano quando si apre o si chiude una maschera, ci si sposta tra maschere o si usano i dati presenti in una maschera o una sottomaschera.

Apertura e chiusura di una maschera

Quando si apre una maschera, per la maschera si verifica la sequenza di eventi seguente:

Open Freccia Load Freccia Resize Freccia Activate Freccia Current

Se nella maschera non sono presenti controlli attivi, si verifica l'evento GotFocus per la maschera dopo l'evento Activate, ma prima dell'evento Current.

Quando si chiude una maschera, per la maschera si verifica la sequenza di eventi seguente:

Unload Freccia Deactivate Freccia Close

Se nella maschera non sono presenti controlli attivi, si verifica l'evento LostFocus per la maschera dopo l'evento Unload, ma prima dell'evento Deactivate.

Spostamento tra maschere

Quando si passa tra due maschere aperte, si verifica l'evento Deactivate per la prima maschera e l'evento Activate per la seconda maschera:

Deactivate (maschera1) Freccia Activate (maschera2)

L'evento Deactivate per una maschera si verifica anche quando si passa dalla maschera a un'altra scheda di oggetto di Access. L'evento Deactivate tuttavia non si verifica quando si passa a una finestra di dialogo, a una maschera la cui proprietà PopUp è impostata su o a una finestra di un altro programma.

Nota :  L'evento Open non si verifica se si sposta lo stato attivo su una maschera già aperta, anche se lo stato attivo è stato spostato su tale maschera eseguendo un'azione OpenForm.

Uso dei dati di una maschera

Gli eventi relativi a maschere e controlli si verificano quando ci si sposta tra i record nella maschera e si modificano dati. Quando ad esempio si apre per la prima volta una maschera, si verifica la sequenza di eventi seguente:

Open (maschera) Freccia Load (maschera) Freccia Resize (maschera) Freccia Activate (maschera) Freccia Current (maschera) Freccia Enter (controllo) Freccia GotFocus (controllo)

Analogamente, quando si chiude una maschera, si verifica la sequenza di eventi seguente:

Exit (controllo) Freccia LostFocus (controllo) Freccia Unload (maschera) Freccia Deactivate (maschera) Freccia Close (maschera)

Se sono stati modificati dati in un controllo, gli eventi BeforeUpdate e AfterUpdate del controllo e della maschera si verificano prima dell'evento Exit relativo al controllo.

Uso di sottomaschere

Quando si apre una maschera che contiene una sottomaschera, quest'ultima e i relativi record vengono caricati prima della maschera principale. Per questo motivo, gli eventi della sottomaschera e dei relativi controlli, come Open, Current, Enter e GotFocus, si verificano prima degli eventi della maschera. L'evento Activate tuttavia non si verifica per le sottomaschere, pertanto l'apertura di una maschera principale attiva un evento Activate solo per la maschera principale.

Analogamente, quando viene chiusa una maschera che contiene una sottomaschera, la sottomaschera e i relativi record vengono scaricati dopo la maschera. L'evento Deactivate non si verifica per le sottomaschere, pertanto la chiusura di una maschera principale attiva un evento Deactivate solo per la maschera principale. Gli eventi dei controlli, della maschera e della sottomaschera si verificano nell'ordine seguente:

  1. Eventi dei controlli della sottomaschera (ad esempio Exit e LostFocus)

  2. Eventi dei controlli della maschera (incluso il controllo sottomaschera)

  3. Eventi della maschera (ad esempio Deactivate e Close)

  4. Eventi della sottomaschera

Nota :  Poiché gli eventi di una sottomaschera si verificano dopo la chiusura della maschera principale, alcuni eventi, ad esempio l'annullamento della chiusura della maschera principale da un evento della sottomaschera, non si verificheranno. Può essere necessario spostare questi tipi di test di convalida in un evento della maschera principale.

Inizio pagina

Ordine degli eventi per le sequenze di tasti e i clic del mouse

Gli eventi della tastiera per maschere e controlli si verificano quando vengono premuti tasti o inviate sequenze di tasti mentre la maschera o il controllo hanno lo stato attivo. Gli eventi del mouse si verificano per maschere, sezioni di maschere e controlli sulle maschere quando si fa clic con i pulsanti del mouse mentre il puntatore si trova su una maschera, una sezione o un controllo oppure quando viene spostato su di essi.

Eventi della tastiera

Quando si preme e si rilascia un tasto mentre lo stato attivo si trova su un controllo di una maschera oppure si usa l'azione o l'istruzioneSendKeys per inviare una sequenza di tasti, si verifica la sequenza di eventi seguente:

KeyDown Freccia KeyPress Freccia KeyUp

Quando si preme e si rilascia un tasto oppure si invia una sequenza di tasti nel set di caratteri ANSI, si verificano gli eventi KeyDown, KeyPress e KeyUp. Se si tiene premuto un tasto ANSI, gli eventi KeyDown e KeyPress si alternano più volte (KeyDown, KeyPress, KeyDown, KeyPress e così via), fino a quando non si rilascia il tasto. A questo punto si verifica l'evento KeyUp.

Se si preme e si rilascia un tasto non ANSI, si verificano gli eventi KeyDown e KeyUp. Se si tiene premuto un tasto non ANSI, si verifica più volte l'evento KeyDown fino a quando non si rilascia il tasto. A questo punto si verifica l'evento KeyUp.

Se la pressione di un tasto attiva un altro evento per un controllo, quest'ultimo evento si verifica dopo l'evento KeyPress, ma prima dell'evento KeyUp. Se ad esempio una sequenza di tasti modifica il testo in una casella di testo, attivando un evento Change, si verifica la sequenza di eventi seguente:

KeyDown Freccia KeyPress Freccia Change Freccia KeyUp

Se una sequenza di tasti provoca lo spostamento dello stato attivo da un controllo a un altro, si verifica l'evento KeyDown per il primo controllo, mentre gli eventi KeyPress e KeyUp si verificano per il secondo controllo. Se ad esempio si modificano dati in un controllo e quindi si preme TAB per spostarsi al controllo successivo, si verifica la sequenza di eventi seguente:

  • Primo controllo:

    KeyDown Freccia BeforeUpdate Freccia AfterUpdate Freccia Exit Freccia LostFocus

  • Secondo controllo:

    Enter Freccia GotFocus Freccia KeyPress Freccia KeyUp

Eventi del mouse

Quando si fa clic e quindi si rilascia un pulsante del mouse mentre il puntatore si trova su un controllo di una maschera, per il controllo si verifica la sequenza di eventi seguente:

MouseDown Freccia MouseUp Freccia Click

Se un controllo ha lo stato attivo e si fa clic su un altro controllo per spostare lo stato attivo su di esso, si verifica la sequenza di eventi seguente:

  • Primo controllo:

    Exit Freccia LostFocus

  • Secondo controllo:

    Enter Freccia GotFocus Freccia MouseDown Freccia MouseUp Freccia Click

Se ci si sposta in un record diverso e quindi si fa clic su un controllo, si verifica anche l'evento Current della maschera prima dell'evento Enter del controllo.

Se si fa doppio clic su un controllo, si verificano gli eventi Click e DblClick. Quando ad esempio si fa doppio clic su un controllo che non è un pulsante di comando, per il controllo si verifica la sequenza di eventi seguente:

MouseD own Freccia MouseUp Freccia Click Freccia DblClick Freccia MouseUp

Quando si fa doppio clic su un pulsante di comando, si verifica la sequenza di eventi riportata sopra, seguita da un secondo evento Click.

L'evento MouseMove di una maschera, una sezione o un controllo si verifica quando si sposta il puntatore del mouse sulla maschera, sulla sezione o sul controllo. Questo evento è indipendente dagli altri eventi del mouse.

Inizio pagina

Ordine degli eventi per i report e le sezioni di report

Gli eventi di report e sezioni di report si verificano quando un report viene aperto per essere stampato o visualizzato in anteprima oppure quando viene chiuso.

Eventi di report

Quando si apre un report per stamparlo o visualizzarlo in anteprima e quindi lo si chiude o ci si sposta in un'altra scheda di oggetto di Access, per il report si verifica la sequenza di eventi seguente:

Open Freccia Activate Freccia Close Freccia Deactivate

Quando ci si sposta tra due report aperti, l'evento Deactivate si verifica per il primo report e l'evento Activate per il secondo report:

Deactivate (report1) Freccia Activate (report2)

L'evento Deactivate per un report si verifica anche quando si passa dal report a un'altra scheda di oggetto di Access. L'evento Deactivate tuttavia non si verifica quando si passa a una finestra di dialogo, a una maschera la cui proprietà PopUp è impostata su o a una finestra di un altro programma.

Quando si apre un report basato su una query, Access attiva l'evento Open per il report prima dell'esecuzione della query sottostante. Di conseguenza, è possibile impostare i criteri per il report usando una macro o una routine evento che risponda all'evento Open. La macro o la routine evento, ad esempio, potrebbe causare l'apertura di una finestra di dialogo personalizzata nella quale immettere i criteri per il report.

Eventi per sezioni di report

Quando si stampa o si visualizza in anteprima un report, gli eventi Format e Print si verificano per le sezioni di report dopo gli eventi Open e Activate del report e prima degli eventi Close o Deactivate del report:

Open (report) Freccia Activate (report) Freccia Format (sezione di report) Freccia Print (sezione di report) Freccia Close (report) Freccia Deactivate (report)

È possibile inoltre che gli eventi seguenti si verifichino durante o dopo la formattazione, ma prima dell'evento Print:

  • L'evento Retreat si verifica quando Access torna a una sezione precedente durante la formattazione di un report.

  • L'evento NoData si verifica se nel report non sono visualizzati record.

  • L'evento Page si verifica dopo la formattazione, ma prima della stampa. È possibile usare questo evento per personalizzare l'aspetto del report stampato.

Inizio pagina

Nota : Dichiarazione di non responsabilità per la traduzione automatica: Il presente articolo è stato tradotto tramite un software di traduzione automatica e non da una persona. Microsoft offre le traduzioni automatiche per consentire a coloro che non conoscono la lingua inglese di leggere gli articoli sui prodotti, sui servizi e sulle tecnologie Microsoft. Dal momento che l'articolo è stato tradotto automaticamente, potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli.

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×