设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] 对窗体主窗体和子窗体的撤销记录的代码怎么写

[复制链接]
跳转到指定楼层
1#
发表于 2011-8-1 10:15:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,有主窗体form1和子船体form1子窗体,如何用Command9 里面的undo,我写了不起作用,谢谢各位了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2011-8-1 11:03:52 | 只看该作者
docmd 里的undo
me.undo

但要同时只能主窗体和子窗体 一个对象作用,因为只要你离开子窗体,那子窗体内容 已经保存了
3#
发表于 2011-8-22 09:13:58 | 只看该作者
本帖最后由 紫风 于 2011-8-22 09:19 编辑

用未绑定窗体不就好了?你不点保存就不保存……
个人习惯:主窗体用未绑定窗体,子窗体用临时表窗体。保存时主、子记录一起保存,退出时清空子临时表。
给楼主个例子:
Private Sub cmd保存_Click()
     If MsgBox("您确认要保存记录吗?", vbQuestion + vbYesNo, SoftName) = vbYes Then
            Me.Refresh
            Dim rst As New ADODB.Recordset
            Dim Stemp As String
            rst.Open "tbl现金账单", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
                With rst
                    .AddNew
                    ![账单号码] = Me.账单号码
                    ![日期] = Me.日期
                    ![客户名称] = Me.客户名称
                    .Update
                End With
            rst.Close
            Set rst = Nothing
        
            DoCmd.SetWarnings False
            DoCmd.RunSQL "insert into tbl现金账单明细 SELECT tbl现金账单明细temp.* FROM tbl现金账单明细temp;"
            DoCmd.SetWarnings True
End Sub
4#
发表于 2011-8-20 11:40:46 | 只看该作者
但要同时只能主窗体和子窗体 一个对象作用,因为只要你离开子窗体,那子窗体内容 已经保存了


这确实是个问题,有时还没有完成子窗体的输入,按错键会打开主窗体的左上角菜单,不小心按了“退出”那一条记录就给保存下来了,很麻烦。

我采取的解决方法是:在退出子窗体的过程中加个提示框,“是”就让它保存;“否”的话,或回到子窗体重新修改后再保存,或写一段代码,在关闭主窗体前根据相应条件删除数据库中的这条记录。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-16 00:55 , Processed in 0.080838 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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