如何判断数据是否被修改
- 作者:zhaozj
- 发表时间:2020-12-23 10:39
- 来源:未知
说明:当用户浏览数据时无意或有意的修改了数据,所以当关闭数据浏览时,需要提示用户是否对所做的修改做保存,一般可以在每个可以被修改的控件中的INTERACTIVECHANGE事件中写代码,当引发这个事件时,将某个变量(如isEdit)设为逻辑.T.,那么当退出时可以通过判断该变量的值来提示操作者是否要保存。因为如果用户没有做修改而再提示的话显得有点多余了,所以这个提示会显得操作更友好。 但是如果对每一个可以编辑的控件的INTERACTIVECHANGE事件都写入代码,显得有点麻烦,即使作为类考虑也不是很好的办法,所以下面的方法供大家参考。 注意:使用此法,你必须用缓冲方式打开表才行。 isNeedToSave=.f. for gnCount = 1 TO FCOUNT( ) && 循环次数等于字段的数目 if GETFLDSTATE(FIELD(gnCount))>=2 && 显示各字段,具体看GETFLDSTATE()函数 isNeedToSave=.t. exit && 当有某个字段被修改后,即退出判断 endif endfor if isNeedToSave ans=messagebox(要保存所做的修改吗?,3+32,询问) do case case ans=6 && 选择是 =tableupdate(.t.) case ans=7 && 选择否 =tablerevert(.t.) case ans=2 && 选择取消 endcase endif 建议将以上代码写在表单的QUERYUNLOAD事件中。