Posted By

heislekw on 04/19/09


Tagged

check box validation


Versions (?)

Validation for a check box with a corresponding text field


 / Published in: Visual Basic
 

  1. Private Sub chkOther_BeforeUpdate(Cancel As Integer)
  2.  
  3. ' Validation for check box with a corresponding text field.
  4. ' When users check chkOther, they are encouraged to specify in txtOther what they mean.
  5. ' If they enter something in txtOther and then decide to uncheck chkOther, this routine
  6. ' tells them the data in txtOther will be deleted. This prevents orphaned data
  7. ' being stored in txtOther when chkOther isn't checked.
  8.  
  9. If Not IsNull(Me.txtOther) Then ' If txtOther has data
  10. If Not Me.chkOther.Value = True Or IsNull(Me.chkOther) Then ' and the user unchecks chkOther, ask the user to confirm the change
  11. If MsgBox("Unchecking this will delete the information in the adjacent text field. " & _
  12. Chr(13) & Chr(13) & "Continue?", vbYesNo + vbDefaultButton2) = vbYes Then
  13. ' If the user clicks 'Yes'
  14. Me.txtOther = Null ' delete the data in txtOther
  15. Else ' Otherwise, if the user doesn't click 'Yes'
  16. Cancel = True ' don't go through with the change (i.e., cancel the update),
  17. Me.chkOther.Undo ' restore the value of chkOther to the original answer (i.e., checked)
  18. Exit Sub ' and leave this routine
  19. End If
  20. End If
  21. End If
  22.  
  23. 'Check the final value in chkOther to determine whether to enable or disable txtOther.
  24. 'If chkOther is True (i.e., checked), set txtOther's enabled property to True (i.e., -1).
  25. 'If chkOther <> True (i.e., it's unchecked), set txtOther's enabled property to False (i.e., 0).
  26.  
  27. Me.txtOther.Enabled = IIf(Me.chkOther = True, -1, 0)
  28.  
  29. End Sub

Report this snippet  

You need to login to post a comment.