Foxtable(狐表)用户栏目专家坐堂 → 保存撤销问题


  共有2346人关注过本帖树形打印复制链接

主题:保存撤销问题

帅哥哟,离线,有人找我吗?
夜点蚊香
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:587 积分:4484 威望:0 精华:0 注册:2020/4/15 19:53:00
保存撤销问题  发帖心情 Post By:2021/10/1 10:05:00 [只看该作者]

If vars("a") = True Then
    vars("a") = False
Else
    With Tables("签到表")
        If .Current IsNot Nothing Then
            .Current.Reject()
            DataTables("学生签到明细表").RejectChanges
            DataTables("教师签到表").RejectChanges
        End If
    End With
End If
上面代码 执行的是哪个保存命令

我用的下面的保存命令
Tables("签到表").Current.Save()

执行保存以后, 上面的撤销代码还是会执行。用什么保存命令,上面的撤销代码不执行。

 回到顶部
帅哥哟,离线,有人找我吗?
新福星
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1959 积分:15502 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2021/10/1 10:53:00 [只看该作者]

编辑->保存,这个是保存了编辑结果;编辑->撤销->保存,这个是无法保存编辑的结果的。
看你上面的代码,就是第二种情况,无法保存编辑变动的结果。你应该使用第一种方法。撤销一般用在录入过程中发现不对或者中途退出的情况。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106601 积分:542176 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/4 21:15:00 [只看该作者]

If .Current IsNot Nothing Then】判断的是表格是否有数据,而不是是否保存了。

要判断选中的行是否未保存参考:http://www.foxtable.com/webhelp/topics/0428.htm
If .Current.DataRow.RowState  <> DataRowState.Unchanged Then

另外注意Current指的是选中的行,假设选中第一行保存了,然后可能做了其它操作,选中了第二行,第二行是未保存的,可能会导致逻辑混乱。

如果要判断整个表是否修改过参考这个:http://www.foxtable.com/webhelp/topics/0387.htm

 回到顶部