以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 保存撤销问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172242) |
-- 作者:夜点蚊香 -- 发布时间: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() 执行保存以后, 上面的撤销代码还是会执行。用什么保存命令,上面的撤销代码不执行。
|
-- 作者:新福星 -- 发布时间:2021/10/1 10:53:00 -- 编辑->保存,这个是保存了编辑结果;编辑->撤销->保存,这个是无法保存编辑的结果的。 看你上面的代码,就是第二种情况,无法保存编辑变动的结果。你应该使用第一种方法。撤销一般用在录入过程中发现不对或者中途退出的情况。
|
-- 作者:有点蓝 -- 发布时间: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
|