设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] 如何在事件中写入防止误删

[复制链接]
跳转到指定楼层
1#
发表于 2011-8-20 23:26:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想阻止删除动作,但是都实现不了,删除动作还是会继续
我不知道在哪个事件中写,也不知道写什么代码能够中止删除
我尝试了在删除事件、删除前事件中写入下列代码,无法起到效果,请路过高手指点,多谢了。
Private Sub Form_Delete(Cancel As Integer)
If Me.入库重量 > 0 Then
MsgBox "本栏尚有库存,无法执行删除。请联系管理员", , "拒删警告"
Me.Undo   ‘我用Exit sub也用过,没用
End If
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-8-21 00:27:41 | 只看该作者
一般不建议这么处理。可以设置按钮来执行删除语句(别忘了加上条件噢)。
如果非要这样删除的话,可以考虑用Connection的回滚事务(RollbackTrans)来处理。
3#
 楼主| 发表于 2011-8-21 09:28:56 | 只看该作者
多谢roych,不过我不是建立删除功能,而是想防止错误删除。我是在子数据表里,选择记录后右键时系统自带有删除菜单,这个删除动作当选择Y后删除,选择N不删除,我的意思是在这个ACCESS对话框弹出前,中止删除动作,使之无效。附上截图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
 楼主| 发表于 2011-8-21 09:39:53 | 只看该作者
我目前使用的替代办法是在当前事件中控制窗体删除属性
If Me.入库重量 > 0 Then Me.AllowDeletions = False
If Me.入库重量 < 0 Then Me.AllowDeletions = True
5#
发表于 2011-8-21 12:54:08 | 只看该作者
本帖最后由 roych 于 2011-8-21 12:54 编辑

噢,加上Cancel判断看看行不行?我在数据表窗体上测试好像没问题。
  1. Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
  2. If Me.入库重量 > 0 Then
  3. MsgBox "本栏尚有库存,无法执行删除。请联系管理员", , "拒删警告"
  4. Cancel=True
  5. Me.Undo   ‘我用Exit sub也用过,没用
  6. End If
  7. End Sub
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-10 22:22 , Processed in 0.086656 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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