È possibile usare l'azione di macro VaiAControllo nei database desktop di Access e nelle app Web di Access per spostare lo stato attivo sul campo o controllo specificato nel record corrente della maschera, del foglio dati maschera, del foglio dati tabella o del foglio dati query aperto. Questa azione consente di associare lo stato attivo a un campo o controllo specifico. Questo campo o controllo può quindi essere usato per eseguire confronti o azioni TrovaRecord. Questa azione consente anche di spostarsi in una maschera in base a determinate condizioni. Ad esempio, se un utente immette No in un controllo Coniugato in una maschera per l'assicurazione sanitaria, lo stato attivo può saltare automaticamente il controllo Nome del coniuge e passare al controllo successivo.
Impostazione
Gli argomenti dell'azione di macro VaiAControllo sono i seguenti.
Argomento dell'azione |
Descrizione |
Nome controllo |
Digitare il nome del campo o controllo in cui si vuole posizionare lo stato attivo. Questo argomento è obbligatorio. Nota: Immettere solo il nome del campo o controllo nell'argomento Nome controllo, non l'identificatore completo, ad esempio [Maschere]![Prodotti]![ID prodotto] se si usa un database desktop di Access. |
Osservazioni
Non è possibile usare l'azione di macro VaiAControllo per spostare lo stato attivo su un controllo in una maschera nascosta.
Suggerimento: È possibile usare l'azione di macro VaiAControllo per passare a una sottomaschera, che è un tipo di controllo. È quindi possibile usare l'azione VaiARecord per passare a un determinato record nella sottomaschera. Si può anche passare a un controllo in una sottomaschera usando l'azione VaiAControllo per passare prima alla sottomaschera e poi al controllo presente nella sottomaschera.
Per eseguire l'azione VaiAControllo in un modulo di Visual Basic, Applications Edition (VBA), usare il metodo GoToRecord dell'oggetto DoCmd. Si può anche usare il metodo SetFocus per spostare lo stato attivo su un controllo in una maschera o in una qualsiasi delle relative sottomaschere oppure su un campo in un foglio dati tabella, query o maschera aperto.
Esempi
Impostare il valore di un controllo usando una macro
La macro seguente apre la maschera Aggiungi prodotti tramite un pulsante della maschera Fornitori. Mostra l'uso delle azioni EcoSchermo, Chiudi, ApriMaschera, ImpostaValore e VaiAControllo. L'azione ImpostaValore imposta il controllo ID fornitore nella maschera Prodotti sul fornitore corrente nella maschera Fornitori. L'azione VaiAControllo sposta quindi lo stato attivo sul campo ID categoria, dove è possibile iniziare a immettere i dati relativi al nuovo prodotto. Questa macro deve essere collegata al pulsante Aggiungi prodotti nella maschera Fornitori.
Azione |
Argomenti: impostazione |
Commento |
EcoSchermo |
Eco schermo: No |
Interrompe l'aggiornamento dello schermo durante l'esecuzione della macro. |
Chiudi |
Tipo oggetto: Maschera Nome oggetto: Elenco prodotti Salva: No |
Chiude la maschera Elenco prodotti. |
ApriMaschera |
Nome maschera: Prodotti Visualizza: Maschera Modalità Immissione dati: Aggiungi Modalità finestra: Normale |
Apre la maschera Prodotti. |
ImpostaValore |
Articolo: [Maschere]![Prodotti]![IDFornitore] Espressione: IDFornitore |
Imposta il controllo IDFornitore sul fornitore corrente nella maschera Fornitori. |
VaiAControllo |
Nome controllo: IDCategoria |
Passa al controllo ID categoria. |
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 |
If IsNull([PaeseAreageografica]) |
ArrestaMacro |
Se PaeseAreaGeografica è Null, il codice postale non può essere convalidato. |
|
If [PaeseAreageografica] 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 |
||
If [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 |
||
If ([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. |