设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 591|回复: 3
打印 上一主题 下一主题

[其它] 关于access的基本问题

[复制链接]
跳转到指定楼层
1#
发表于 2004-12-30 00:06:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如何才能使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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
4#
发表于 2004-12-30 22:27:00 | 只看该作者


DoCmd.RunCommand acCmdUndo

換成

Cancel=true

試試
3#
 楼主| 发表于 2004-12-30 21:05:00 | 只看该作者
我测试过,确实是清空的.
2#
发表于 2004-12-30 04:09:00 | 只看该作者
1。设为关键字2。下例中假如选择否,则原来输入的数据都将被清空,我不想被清空,只想回到保存前状态.不会呵,目前的代码完全符合你的要求啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 01:24 , Processed in 0.103659 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表