Office中国论坛/Access中国论坛

标题: 关于access的基本问题 [打印本页]

作者: royal    时间: 2004-12-30 00:06
标题: 关于access的基本问题
如何才能使access 保存记录前才检验数据有效性? 如某个字段不能为空等等? 用有效性规则太麻烦.

另外,如何才能使access保存记录前先提示, 选择是才保存,否就不保存. 下例中假如选择否,则原来输入的数据都将被清空,我不想被清空,只想回到保存前状态.

多谢!







作    者:Dev Ashish  

发布日期:2002年11月13日

摘    要:通过在窗体的BeforeUpdate事件来控制记录是否保存



正    文:



(问): 我怎么在窗体中控制记录是否保存?





(答): 通过在窗体的BeforeUpdate事件处理程序中编写一段代码来实现这一功能, 通过这个方法就能使用Undo方法来实现放弃保存。









Private Sub Form_BeforeUpdate(Cancel As Integer)

Dim strMsg As String

    strMsg = "数据已经改变."

    strMsg = strMsg & vbCr & "你想保存吗?"

    strMsg = strMsg & vbCr & "点击[是]保存,点击[否]放弃保存。"

    If MsgBox(strMsg, vbQuestion + vbYesNo, "记录保存吗?") = vbYes Then

        ' 什么也不需要做,就会保存记录

    Else

        DoCmd.RunCommand acCmdUndo

        

        ' 对于Access 95, 使用DoMenuItem方法代替

        'DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70

    End If

End Sub
作者: 情比金坚    时间: 2004-12-30 04:09
1。设为关键字2。下例中假如选择否,则原来输入的数据都将被清空,我不想被清空,只想回到保存前状态.不会呵,目前的代码完全符合你的要求啊!
作者: royal    时间: 2004-12-30 21:05
我测试过,确实是清空的.
作者: zyp    时间: 2004-12-30 22:27


DoCmd.RunCommand acCmdUndo

換成

Cancel=true

試試




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3