Forms |
3.90 In una maschera di inserimento evidenziare in rosso i controlli associati a campi obbligatori che l'utente non ha digitato |
Roberto, Alessandro Baraldi |
Quella che segue è una soluzione che permette di colorare in rosso lo sfondo dei controlli associati a campi obbligatori e che l'utente si è dimenticato di riempire, avvisando con un messaggio l'utente ed annullando l'evento di aggiornamento del record; i campi regolarmente riempiti avranno lo sfondo grigio. La proprietà Tag dei controlli associati a campi obbligatori deve essere impostata a OBBLIGATORIO, quindi a fronte dell'evento "Prima di aggiornare" della maschera eseguire il seguente codice VBA: Private Sub Form_BeforeUpdate(Cancel As Integer) Dim ctl As Control For Each ctl In Me.Controls If ctl.Tag = "OBBLIGATORIO" Then With ctl If .Visible And (.ControlType = acTextBox) Then .BackColor = 12632256 If IsNull(.Value) Or .Value = "" Then .BackColor = 255 MsgBox UCase(ctl.Controls(0).Caption) & vbCrLf & _ "@Inserire i dati mancanti nel Campo@", vbExclamation, "AVVISO" .SetFocus Set ctl = Nothing Cancel = True Exit Sub End If End If End With End If Next Set ctl = Nothing End SubNel caso si usi una versione di Access successiva ad Access 97, i caratteri @ usati nella funzione InputBox non hanno effetto e possono pertanto essere tolti. |