MsgBox in Enter Event does not allow update
OK I tried asking in the Microsoft forums and no luck. I have a multipage (mpgLogs) on a form with three pages. I change which page to display based on the value of a combobox. I want to make sure the user wants to change the combobox value because I will delete control values on other pages of the multipage. So I show a msgbox with vbYesNo.
If they click No, I want to keep the same combobox value and don't change the multipage. If they click Yes, clear multipage values and change the multipage to the page selected in the combobox.
When the user clicks yes and then clicks a new value in the combobox the following events fire: 1) down button click 2) mouse down, 3) mouse up. No change event. The value of the combobox stays at the original value. Why don't the change, click events fire?
I do not want to use the Before or AfterUpdate events because the user has to move from the combobox before they fire. I want the check before.
Thanks for any help you can give.
Private Sub cbLogType_Enter()
Dim stMsg, stTitle As String
Dim iResponse, iStyle As Integer
' Define message.
stMsg = "Are you sure you want to change the Log Type?" + vbCrLf
stMsg = stMsg + "Clicking Yes will delete all previous values." + vbCrLf
stMsg = stMsg + "Click Yes to change and No to keep the same Log Type?"
' Define buttons.
iStyle = vbYesNo + vbQuestion
' Define title.
stTitle = "Cancel Log Type Change?"
' Display message.
iResponse = MsgBox(stMsg, iStyle, stTitle)
If iResponse = vbNo Then
' User chose No so just change focus so that cbLogType does not change
mpgLogs.SetFocus
Else
'don't think this is necessary because i will change multipage when change event fires
End If
End Sub
|