| 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.
|