设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] [求助]保存或删除记录前进行询问,有样品吗?

[复制链接]
跳转到指定楼层
1#
发表于 2006-9-7 01:31:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
非常感谢论坛以前给予的帮助。

现在又遇到一点麻烦。

一个带有子窗体的窗体,在删除或保存记录时(涉及到主、子两个窗体),怎么样才能弹出对话框,问是否保存或删除?

再次感谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-9-7 02:14:00 | 只看该作者
保存:在窗体更新前事件中写代码:根据Msgbox()函数返回的值进行下一步的处理。

删除:在窗体确认删除前事件中写代码:根据Msgbox()函数返回的值进行下一步的处理。
3#
发表于 2006-9-7 05:02:00 | 只看该作者
有啊,在母,子窗体的FORM _DELETE 和 BEFOREUPDATE里设置代码就行。

我以前回复的贴子里有完整的代码。

Private Sub Form_Delete(Cancel As Integer)




If Me.报关完成 = True Then
    Cancel = True
    MsgBox ("报关完成后不能删除记录!")
    Else
         ' 不需要做什么,会删除记录
End If

End Sub



http://www.office-cn.net/forum.php?mod=viewthread&tid=36681&replyID=&skin=1





<DIV >ACCESS_一个制止修改窗体记录的示例</DIV>

1.先看附件图片
"报关完成"这个子段只能在其它窗体中修改,在本窗体中锁定.


2.再在本窗体的Form_BeforeUpdate中使用以下代码:

Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim strMsg As String
    strMsg = "数据已经改变."
    strMsg = strMsg & vbCr & "点击[是]保存,点击[否]放弃保存。"


If Me.报关完成 = True Then
    DoCmd.RunCommand acCmdUndo      '报关已完成,就不能修改记录,显示对话框后就此结束
    MsgBox ("报关后记录不能修改!请在XXX窗体中先取消'报关完成'以及'报关单资料'后再行修改.")
Else
    If MsgBox(strMsg, vbQuestion + vbYesNo, "记录保存吗?") = vbYes Then
        ' 什么也不需要做,就会保存记录

     Else
        DoCmd.RunCommand acCmdUndo

    End If

End If
End Sub



此主题相关图片如下:





[此贴子已经被作者于2006-9-6 21:11:48编辑过]

4#
 楼主| 发表于 2006-9-7 16:00:00 | 只看该作者
谢谢了.果然高手

非常感谢.帮了大忙了

我先试试.不懂再请教
5#
发表于 2006-9-8 03:11:00 | 只看该作者
高手!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 19:54 , Processed in 0.085287 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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