Essere d'accordo con Capricorn1 e dqmq, comunque aggiungerò i miei 2 centesimi degno pure.
1. Poichè il dqmd accennato, voi può usare la regola di convalida di comandi, ma a volte gli utenti vorrebbe potere riempire i comandi nella loro sequenza preferred, in modo da potreste studiare la possibilità di usando l'evento dell'uscita di comandi ed appena a finestra un avvertimento quando escono il controllo che indica che il controllo è richiesto prima che l'annotazione potesse essere conservata.
2. Il codice di Capricorn1 controllerà tutti campi required ma gli non dà un messaggio molto specifico. Poiché la vostra forma è non legata, probabilmente non costruirete in tasti di navigazione (penso che questa sia una buona cosa). Generalmente fornisco salvo ed annullo i tasti su ciascuna delle mie forme. Con il tasto di risparmio, potete fare una di due cose:
a. Potete effettuare le vostre prove di convalida nell'evento di scatto del tasto, controllante ciascuno dei campi che sono richiesti per assicurare che abbiano un'entrata valida. Se non, visualizzare un messaggio specifico del campo e regolare il fuoco di nuovo al controllo adatto.
b. Potete rendere invalido il tasto di risparmio fino a riempire tutti campi required. Per fare questo, dovreste usare l'uscita o evento di AfterUpdate di ciascuno dei comandi e del codice di chiamata come permettere a fornito Cap1/disable che il pulsante di comando ha basato sui valori in tutti campi. Giù il laterale di questo metodo è deve cercare intorno sulla forma per identificare che dei campi required sta mancando i dati. Ho, quando il cliente lo ha voluto, installo i miei comandi required (caselle di testo e comboboxes) con una disposizione condizionale che è un colore differente che il campione. Faccio questo con una funzione (vedere sotto) e fissando il termine di comandi come “l'espressione è„ con un parametro a che assomiglia: fnRequiredButEmpty (forme! formname.controlname)
Se fate questo e regolate la proprietà della priorità bassa ad un colore chiaro (uso solitamente un giallo chiaro), quindi l'utente può immediatamente vedere che comandi sono richiesti e quale non sono stati riempiti. Potreste modificare la funzione per controllare per vedere se c'è il valore specifico per i comandi specifici invece di appena prove per vedere se la lunghezza > 0, ma questa gli darà un'idea.
Funzione riservata fnRequiredButEmpty (Ctrl come controllo) come booleano
RequiredButEmpty = (Len (Ctrl.Value & "") = 0)
Funzione di conclusione