Listato 1

Private Sub UIFValidation()
  Static Valid As Boolean
  If Me.ActiveControl Is UIFActive Then Exit Sub
  Valid = True 'fino a prova contraria
  Select Case UIFActive.Name
    Case "Text1"
      If Text1 <> "" And Text1 <> "a" Then
        Valid = False
        MsgBox "Devi inserire 'a' o Null"
      End If
      Case "Text2"
      If Text2 <> "b" Then
        Valid = False
        MsgBox "Devi obbligatoriamente inserire 'b'"
      End If
  Case Else
    DoEvents
    MsgBox "Il controllo " & Me.Name & "." & UIFActive.Name & _
    " ha richiesto un controllo di validazione inesistente. " & _
    "Avvisare il programmatore.", _
    vbCritical, "Errore controllo validazione"
    If Valid = False Then UIFActive.SetFocus
End Sub



Listato 2

Private Sub UIFEmpty()
  'Controllo campi obbligatori
  'Sappiamo che grazie ai controlli di UIFValidation
  'tutto quello che e` gia`stato inserito e` sicuramente
  'valido. Resta quindi solo da indicare all'utente che
  'deve compilare altri campi.
  'Vediamo quindi quali sono quelli vuoti

  '=== Se sono da controllare diversi campi, ma non tutti ===
  '=== usare questo sistema
  cmdOK.Enabled = False 'Default
  If Text1 = "" Then Exit Sub
  If Text2 = "" Then Exit Sub

  'Se siamo arrivati qui allora
  'siamo proprio sull'ultimo campo da riempire
  'ed abbiamo appena premuto un tasto
  cmdOK.Enabled = True


  '=== Se sono da controllare tutti i campi ===
  '=== usare questo sistema
'  Dim ControlX As Control
'  Dim LeftOut As Boolean
'  LeftOut = False
'  For Each ControlX In Controls
'   If TypeOf ControlX Is TextBox Then
'    If ControlX.Text = "" Then
'     LeftOut = True
'     Exit For
'    End If
'   End If
'  Next
'  If LeftOut Then cmdOK.Enabled = False Else cmdOK.Enabled = True
End Sub