作者:古零零碎碎 | 来源:互联网 | 2023-06-21 18:35
我在Excel中创建了一个用户表单,该表单将填充数据库。但是,我的用户窗体中有一个组合框,用户可以从三个列表中选择特定的费率。选择一种特定的汇率后,我需要立即显示错误消息。当用户选择“提交”表单时,我还会显示其他错误消息,但是一旦选择了值,我就需要填写此错误消息。我已经纠正了我的其他编码问题,所以这应该与此无关。
到目前为止,我的代码在这里:
Private Sub cmbMileageRates_Change()
If cmbMileageRates.Value = ".58" Then
MsgBox "When requesting mileage reimbursement of the high rate($.58/mile),Division Administrator Approval is required","Critical"
Exit Sub
End If
End Sub
当表单为“脏”表单时,您需要触发代码。
脏事件在指定控件的内容更改时发生。
Microsoft网站上有一个很好的例子:
https://docs.microsoft.com/en-us/office/vba/api/access.combobox.dirty
Private Sub Form_Dirty()
If Me.Dirty Then
If cmbMileageReimbRates.value = ".58" Then
MsgBox "When requesting mileage reimbursment of the high rate ($.58/mile),Division Administrator Approval is required",vbCritical
'if you want to clear the value too,use:
cmbMileageReimbRates.Value = Null
Exit Sub
End If
Else
'Carry on
End If
End Sub
,
为什么不使用事件“ cmbMileageReimbRates_change”?
Private Sub cmbMileageReimbRates_Change()
If cmbMileageReimbRates.Value = ".58" Then
MsgBox "When requesting mileage reimbursment of the high rate ($.58/mile),Division
Administrator Approval is required",vbCritical
Exit Sub
End If
End Sub