|
以下是论坛中高手的做法
Private Sub FORM_BeforeUpdate(Cancel As Integer)
If MsgBox("保存吗?", vbYesNo, Me.Caption) <> vbYes Then
Cancel = True
End If
End Sub
或者
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
[move]--使用这样的代码是很好的,可是如果有子窗体的话就麻烦了,不是提醒次数过多,就是子窗体没有数据也保存,总之不得法,众高手能否“讨个说法”?[/move][em00] |
|