Office中国论坛/Access中国论坛
标题:
如何在事件中写入防止误删
[打印本页]
作者:
Y9X
时间:
2011-8-20 23:26
标题:
如何在事件中写入防止误删
我想阻止删除动作,但是都实现不了,删除动作还是会继续
我不知道在哪个事件中写,也不知道写什么代码能够中止删除
我尝试了在删除事件、删除前事件中写入下列代码,无法起到效果,请路过高手指点,多谢了。
Private Sub Form_Delete(Cancel As Integer)
If Me.入库重量 > 0 Then
MsgBox "本栏尚有库存,无法执行删除。请联系管理员", , "拒删警告"
Me.Undo ‘我用Exit sub也用过,没用
End If
End Sub
作者:
roych
时间:
2011-8-21 00:27
一般不建议这么处理。可以设置按钮来执行删除语句(别忘了加上条件噢)。
如果非要这样删除的话,可以考虑用Connection的回滚事务(RollbackTrans)来处理。
作者:
Y9X
时间:
2011-8-21 09:28
多谢roych,不过我不是建立删除功能,而是想防止错误删除。我是在子数据表里,选择记录后右键时系统自带有删除菜单,这个删除动作当选择Y后删除,选择N不删除,我的意思是在这个ACCESS对话框弹出前,中止删除动作,使之无效。附上截图[attach]46456[/attach]
作者:
Y9X
时间:
2011-8-21 09:39
我目前使用的替代办法是在当前事件中控制窗体删除属性
If Me.入库重量 > 0 Then Me.AllowDeletions = False
If Me.入库重量 < 0 Then Me.AllowDeletions = True
作者:
roych
时间:
2011-8-21 12:54
本帖最后由 roych 于 2011-8-21 12:54 编辑
噢,加上Cancel判断看看行不行?我在数据表窗体上测试好像没问题。
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
If Me.入库重量 > 0 Then
MsgBox "本栏尚有库存,无法执行删除。请联系管理员", , "拒删警告"
Cancel=True
Me.Undo ‘我用Exit sub也用过,没用
End If
End Sub
复制代码
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3