Access: impedire la chiusura della maschera se non si è compilato un campo

Anonimo
2012-07-05T07:54:47+00:00

Salve a tutti,

vi espongo il mio problema:

  • vorrei creare un codice che impedisca la chiusura della maschera se non compilo un campo, e mi avvisa con un messaggio se non è compilato.
  • su chiusura ho già una macro che fa delle altre operazioni
  • è possibile aggiungere un comando del genere nelle macro?
  • oppure devo cambiare anche la macro in codice VB

Cavillo

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-07-05T09:27:58+00:00

Ciao Cavillo,

ok,

allora inserisci nella prima riga della macro posta nell'evento "Su Scaricamento"  la condizione Se, nella casella If metti IsNull([NomeCampo]) poi aggiungi l'azione "Finestra messaggio" e nella casella Messaggio inserisci l'avviso chevuoi dare all'utente, poi inserisci l'azione AnnullaEvento e poi inserisci l'azione ArrestaMacro

Cambia NomeCampo con il nome effettivo del campo da controllare.

Ciao

Giorgio Rancati

La risposta è stata utile?

2 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-07-05T16:42:41+00:00

Ciao,

ok, se deve essere compilata una delle due el l'altra no metti nelle condizioni:

IsNull([Campo1])=Falso And IsNull([Campo2])=Falso Or IsNull([Campo1])=Vero And IsNull([Campo2])=Vero

ovvero le due caselle testo non possono essere entrambe vuote o entrambe compilate.

aggiunta:

Volendo semplificare e se hai dimestichezza con gli operatori booleani si può fare anche così

Not (IsNull([Campo1]) Xor IsNull([Campo2]))

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-07-05T13:50:48+00:00

Ciao Cavillo,

probabilmente hai messo le azioni AnnullaEvento e ArrestaMacro fuori dal blocco If, quindi vengono eseguite in ogni caso.

Metti le due azioni nel blocco If.

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-07-05T08:45:13+00:00

    Ciao Cavillo,

    è più semplice inserire un vincolo a livello di tabella.

    Apri in visualizzazione struttura la tabella seleziona il campo e nelle sue proprietà imposta:

    Richiesto = Sì

    Consenti lunghezza zero = No

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2012-07-05T09:00:30+00:00

    Ciao Giorgio,

    Ho pensato di fare così ma la casella in questione è presente anche in altre maschere dove non ho il problema e mi obbliga a compilarla anche se non è necessario e in quache caso non devo proprio. La casella la devo compilare solo quando compilo una data maschera, è per questo che voglio inserire una formula con avviso alla chiusura della maschera in caso mi dimentico.

    Cavillo

    La risposta è stata utile?

    0 commenti Nessun commento