【发布时间】:2017-05-19 16:51:10
【问题描述】:
我有这个更新前代码来检查是否填写了某些字段。这些字段是必需的,必须填写,否则记录不应保存。如果其他字段没有填写 ID 和 Staff 字段,则弹出消息框提示(这些是必填字段等)。
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Nz([ID], "") = "" Then
MsgBox "The ID field is required.", vbExclamation, "Required Field"
Cancel = True
End If
If Nz([Staff], "") = "" Then
MsgBox "Staff field is required.", vbExclamation, "Required Field"
Cancel = True
Me.[Staff].SetFocus
End Sub
我有一个“关闭表单”按钮,如下所示:
Private Sub CmdCloseForm_Click()
DoCmd.Close , ""
End Sub
单击此按钮时,我收到未填写字段的警告,但随后表单关闭。我想要一个是/否消息框,询问用户是否仍想关闭表单。我在 BeforeUpdate 子中创建了一个是/否消息框。但是它不会停止子 CmdCloseForm。
有没有办法创建一个消息框来确认用户是否要退出表单?
例如:
If MsgBox("Would you like to close the form still? Changes won't be saved.", vbYesNo + vbQuestion, "Warning") = vbNo Then
Exit Sub
End If
如果我将上面的 Msgbox 放入 CmdCloseForm 函数中,它会在让用户知道他们缺少 ID/Staff 字段之前提示用户。
【问题讨论】:
-
也许你应该在按钮点击事件中进行数据验证。