快速提问,希望找到一个简明明智的解决方案。
我有一个纯粹用于数据输入的绑定表单(无法浏览记录,只能插入它们)。 我会有很多用户搞砸了。为避免脏数据,我希望他们在提交记录之前确认表单是否正确。
问题是,只要我在表单上输入ANYTHING,访问就会创建并保存记录。
如果用户点击“提交”,我希望仅保存和提交记录。如果他们单击关闭或退出应用程序,我不希望在数据库中部分完成该记录。
如果不使用未绑定的表单并调用insert函数,是否有一个简单的解决方案?
答案 0 :(得分:2)
您可以使用以下代码创建一个清除按钮,以防用户出错并想要清除整个表单并重新开始。
Private Sub btnClear_Click()
If Me.Dirty = True Then
DoCmd.RunCommand acCmdUndo
Exit Sub
End If
End Sub`
我有时会发现before_update事件很奇怪,所以我通常会禁用属性中的close(x)按钮并添加一个我自己的关闭按钮,提示用户是否要放弃屏幕上的数据。
Private Sub close_Click()
Dim Answer As Integer
If Me.Dirty = True Then
Dim Response As Integer
' Displays a message box with the yes and no options.
Response = MsgBox(Prompt:="Do you wish to discard data?", Buttons:=vbYesNo)
' If statement to check if the yes button was selected.
If Response = vbYes Then
DoCmd.RunCommand acCmdUndo
DoCmd.Close
Else
Me.Clear.SetFocus
End If
Else
' The no button was selected.
DoCmd.Close
End If
End Sub