Revision: 13314
Updated Code
at August 2, 2011 17:46 by heislekw
Updated Code
Private Sub cboColor_BeforeUpdate(Cancel As Integer) ' Validation for combo box with a corresponding text field. ' When users select "Other" in cboColor, they are encouraged to specify in txtOther what they mean. ' If they enter something in txtOther and then decide to change or delete their answer in cboColor, this routine ' tells them the data in txtOther will be deleted. This prevents orphaned data being stored in txtOther ' when cboColor is blank or <> "Other". If Not IsNull(Me.txtOther) Then ' If txtOther has data If Not Me.cboColor.Value = "Other" Or IsNull(Me.cboColor) Then ' and the user selects something different than "Other", ask the user to confirm the change If MsgBox("Changing this answer from 'Other' will delete the information in the adjacent text field. " & _ Chr(13) & Chr(13) & "Continue?", vbQuestion + vbYesNo + vbDefaultButton2, "Change Answer?") = 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.cboColor.Undo ' restore the value of cboOther to the original answer (i.e., 'Other') Exit Sub ' and leave this routine End If End If End If 'Check the final value in cboColor to determine whether to enable or disable txtOther. 'If cboColor = 'Other', set txtOther's enabled property to True (i.e., -1). 'If cboColor <> 'Other', set txtOther's enabled property to False (i.e., 0). Me.txtOther.Enabled = IIf(Me.cboColor = "Other", -1, 0) End Sub
Revision: 13313
Updated Code
at April 19, 2009 12:32 by heislekw
Updated Code
Private Sub cboColor_BeforeUpdate(Cancel As Integer) ' Validation for combo box with a corresponding text field. ' When users select "Other" in cboColor, they are encouraged to specify in txtOther what they mean. ' If they enter something in txtOther and then decide to change or delete their answer in cboColor, this routine ' tells them the data in txtOther will be deleted. This prevents orphaned data being stored in txtOther ' when cboColor is blank or <> "Other". If Not IsNull(Me.txtOther) Then ' If txtOther has data If Not Me.cboColor.Value = "Other" Or IsNull(Me.cboColor) Then ' and the user selects something different than "Other", ask the user to confirm the change If MsgBox("Changing this answer from 'Other' 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.cboColor.Undo ' restore the value of cboOther to the original answer (i.e., 'Other') Exit Sub ' and leave this routine End If End If End If 'Check the final value in cboColor to determine whether to enable or disable txtOther. 'If cboColor = 'Other', set txtOther's enabled property to True (i.e., -1). 'If cboColor <> 'Other', set txtOther's enabled property to False (i.e., 0). Me.txtOther.Enabled = IIf(Me.cboColor = "Other", -1, 0) End Sub
Revision: 13312
Updated Code
at April 19, 2009 12:07 by heislekw
Updated Code
Private Sub q3_BeforeUpdate(Cancel As Integer) ' Validation for a combo box with specify field If Not IsNull(Me.q3_specify) Then If Not Me.q3.Value = 7 Or IsNull(Me.q3) Then If MsgBox("Changing this answer from 'Other' will delete the information in the adjacent text field. " & _ Chr(13) & Chr(13) & "Continue?", vbYesNo + vbDefaultButton2) = vbYes Then Me.q3_specify = Null Else Cancel = True Me.q3.Undo Exit Sub End If End If End If Me.q3_specify.Enabled = IIf(Me.q3 = 7, -1, 0) End Sub
Revision: 13311
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at April 19, 2009 11:57 by heislekw
Initial Code
Private Sub q3_BeforeUpdate(Cancel As Integer) ' Validation for a combo box with specify field If Not IsNull(Me.q3_specify) Then ' If q3_specify has data (i.e., is not blank) If Not Me.q3.Value = 7 Or IsNull(Me.q3) Then ' and the user changes q3's answer to something other than 7 (i.e., Other), ' or deletes the answer (i.e., Null), ' ask the user to confirm the change. If MsgBox("Changing this answer from 'Other' will delete the information in the adjacent text field. " & _ Chr(13) & Chr(13) & "Continue?", vbYesNo + vbDefaultButton2) = vbYes Then ' If the user clicks 'Yes' Me.q3_specify = Null ' delete the data in q3_specify (i.e., make it blank). Else ' Otherwise, if the user doesn't click 'Yes' Cancel = True ' don't go through with the change (i.e., cancel the update), Me.q3.Undo ' restore the value of q3 to the original answer (i.e., 7) Exit Sub ' and leave this routine End If End If End If 'Check the final value in q7 to determine whether to enable or disable q7_specify. 'If q7 = 2 (i.e., Yes), set q7_specify's enabled property to True (i.e., -1). 'If q7 <> 2 (i.e., it's No, Missing, or blank), set q7_specify's enabled property to False (i.e., 0). Me.q3_specify.Enabled = IIf(Me.q3 = 7, -1, 0) ' This would also work: 'Me.q3_specify.Enabled = Nz((Me!q3 = 7) - 1, 0) ' As would this: 'If Me.q3.Value = 7 Then ' Me.q3_specify.Enabled = True 'Else ' Me.q3_specify.Enabled = False 'End If End Sub
Initial URL
Initial Description
Initial Title
Validation for a combo box with a corresponding text field
Initial Tags
validation
Initial Language
Visual Basic