Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-窗体/数据页

如何在绑定数据的主子窗体中保存取消修改记录

时 间:2007-11-26 19:16:20
作 者:victorduane   ID:70  城市:闵行
摘 要:如何在绑定数据的主子窗体中保存取消修改记录
正 文:

如何在绑定数据的窗体中保存取消修改记录

'声明记录在修改窗体中是否被修改的变量--在标准模块中设置
Public lngEditRec As Long

在窗体中写如下代码
Private Sub strMessage()
Dim strMsgbox As Long
strMsgbox = MsgBox("你要保存修改的数据吗", vbInformation + vbYesNo, "提示")
    If strMsgbox = vbYes Then
        lngEditRec = 1
         Me.Refresh
         DoCmd.RunCommand acCmdSaveRecord
         msgBox "保存成功!"
    ElseIf strMsgbox = vbNo Then
        lngEditRec = 0
    End If
End Sub

Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.Dirty Then
    If lngEditRec = 0 Then
        Me.Undo
        Cancel = True
    ElseIf lngEditRec = 1 Then
        Exit Sub
    ElseIf lngEditRec = 2 Then
        Cancel = True
    End If
End If
End Sub
在保存修改的按钮里写如下代码
strMessage
在关闭按钮里写如下代码
lngEditRec = 2
DoCmd.Close acForm, Me.Name

这样就可以做到按保存确认保存,关闭的时候对窗体没有保存的数据取消

如果你的窗体中包含有主子窗体,那么在主窗体中写如上代码,子窗体中请写下如下代码:

Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.Dirty Then
    If lngEditRec = 0 Then
        Me.Undo
        Cancel = True
    ElseIf lngEditRec = 1 Then
        Exit Sub
    ElseIf lngEditRec = 2 Then
        Cancel = True
    End If
End If
End Sub



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助