Office中国论坛/Access中国论坛

标题: [求助]保存或删除记录前进行询问,有样品吗? [打印本页]

作者: lst21    时间: 2006-9-7 01:31
标题: [求助]保存或删除记录前进行询问,有样品吗?
非常感谢论坛以前给予的帮助。

现在又遇到一点麻烦。

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

再次感谢
作者: fan0217    时间: 2006-9-7 02:14
保存:在窗体更新前事件中写代码:根据Msgbox()函数返回的值进行下一步的处理。

删除:在窗体确认删除前事件中写代码:根据Msgbox()函数返回的值进行下一步的处理。
作者: pgwq    时间: 2006-9-7 05:02
有啊,在母,子窗体的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编辑过]


作者: lst21    时间: 2006-9-7 16:00
谢谢了.果然高手

非常感谢.帮了大忙了

我先试试.不懂再请教
作者: develpkiki    时间: 2006-9-8 03:11
高手!




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