以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 如何用一句简单的代码判断当前表未作任何修改?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=60368)

--  作者:lmlptj
--  发布时间:2014/11/23 20:52:00
--  [求助] 如何用一句简单的代码判断当前表未作任何修改?
 如何用最简单的代码判断当前表(不是Datatable)未作任何修改?
--  作者:有点甜
--  发布时间:2014/11/23 20:55:00
--  

 http://www.foxtable.com/help/topics/0387.htm

 


--  作者:有点甜
--  发布时间:2014/11/23 20:56:00
--  
CurrentTable.DataTable.HasChanges
--  作者:lmlptj
--  发布时间:2014/11/23 21:01:00
--  
If Tables("测评表").DataTable.HasChanges = False Then
    MessageBox.Show("当前表未做任何处理,不能编辑下一张表格","请编辑当前表",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    Return 
End If
。。。。。。。
。。。。。。。


上述代码仍然执行后续代码!!


--  作者:有点甜
--  发布时间:2014/11/23 21:07:00
--  

 只要弹出,提示,就不会执行。

 

 HasChangeds的判断是不会错的


--  作者:lmlptj
--  发布时间:2014/11/23 21:13:00
--  
我也很奇怪!!明明表未作任何修改,怎么就不弹出对话框呢?
--  作者:有点甜
--  发布时间:2014/11/23 21:14:00
--  
 肯定哪里做了修改,或者把例子上传
--  作者:lmlptj
--  发布时间:2014/11/23 21:16:00
--  
只针对当前表(Table),而不针对当前表的Datatable。如果用Datatable.haschanges那肯定是发生改变的。


--  作者:有点甜
--  发布时间:2014/11/23 21:20:00
--  

 没有针对table。

 

 如果要对Table,就必须循环每一行,判断行的属性rowstate


--  作者:lmlptj
--  发布时间:2014/11/23 21:22:00
--  
我的应用是这样的:
假定对人员进行测评,导入待测评人员,如果不对相关人员进行勾选,则不能进入下一张测评表的操作。
下一张表的来源,也就是再次的导入测评人员。导入后,Datatable肯定是发生变化了。显示在电脑上的则是刚刚导入的第二经人员表,仅仅想对导入的这第二张表是否作过编辑或修改的判断。
如果用一个计数器变量就能实现,但代码相对长了些。