/ Published in: Visual Basic
                    
                                        
                            
                                Expand |
                                Embed | Plain Text
                            
                        
                        Copy this code and paste it in your HTML
Private Sub chkOther_BeforeUpdate(Cancel As Integer)
' Validation for check box with a corresponding text field.
' When users check chkOther, they are encouraged to specify in txtOther what they mean.
' If they enter something in txtOther and then decide to uncheck chkOther, this routine
' tells them the data in txtOther will be deleted. This prevents orphaned data
' being stored in txtOther when chkOther isn't checked.
If Not IsNull(Me.txtOther) Then ' If txtOther has data
If Not Me.chkOther.Value = True Or IsNull(Me.chkOther) Then ' and the user unchecks chkOther, ask the user to confirm the change
If MsgBox("Unchecking this will delete the information in the adjacent text field. " & _
Chr(13) & Chr(13) & "Continue?", vbYesNo + vbDefaultButton2) = vbYes Then
' If the user clicks 'Yes'
Me.txtOther = Null ' delete the data in txtOther
Else ' Otherwise, if the user doesn't click 'Yes'
Cancel = True ' don't go through with the change (i.e., cancel the update),
Me.chkOther.Undo ' restore the value of chkOther to the original answer (i.e., checked)
Exit Sub ' and leave this routine
End If
End If
End If
'Check the final value in chkOther to determine whether to enable or disable txtOther.
'If chkOther is True (i.e., checked), set txtOther's enabled property to True (i.e., -1).
'If chkOther <> True (i.e., it's unchecked), set txtOther's enabled property to False (i.e., 0).
Me.txtOther.Enabled = IIf(Me.chkOther = True, -1, 0)
End Sub
Comments
 Subscribe to comments
                    Subscribe to comments
                
                