以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]值的判断  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110216)

--  作者:Fox86
--  发布时间:2017/11/29 9:45:00
--  [求助]值的判断

请教!感谢!

控件NumericComboBox输入金额,DataFormat设置Format(e.Value, "#,##0.00")

列设置是双精度小数,控件从行dr1取值,明明数值一样,用

e.Form.Controls(stsz1(i)).Value <> dr1.OriginalValue(Cols1(i))判断总是不一样,如何改写?


--  作者:有点甜
--  发布时间:2017/11/29 10:12:00
--  

执行下面代码,看弹出什么?

 

msgbox(e.Form.Controls(stsz1(i)).Value & vbcrlf & dr1.OriginalValue(Cols1(i)))

msgbox(e.Form.Controls(stsz1(i)).Value = dr1.OriginalValue(Cols1(i)))


--  作者:Fox86
--  发布时间:2017/11/29 10:30:00
--  
有点甜老师,显示两个一样的数字 和 True
--  作者:Fox86
--  发布时间:2017/11/29 10:33:00
--  

我是在e.Form.Controls(stsz1(i)).Value <> dr1.OriginalValue(Cols1(i))判断后加入你的代码,居然 True


--  作者:有点甜
--  发布时间:2017/11/29 10:36:00
--  

那弹出

 

msgbox(e.Form.Controls(stsz1(i)).Value <> dr1.OriginalValue(Cols1(i)))


--  作者:Fox86
--  发布时间:2017/11/29 10:37:00
--  
是False
--  作者:Fox86
--  发布时间:2017/11/29 10:39:00
--  

所有列的判断都是False

[此贴子已经被作者于2017/11/29 10:43:52编辑过]

--  作者:有点甜
--  发布时间:2017/11/29 10:48:00
--  
那就没问题啊,一个是true、一个是false,你逻辑是什么,选择你需要的那一个啊。
--  作者:Fox86
--  发布时间:2017/11/29 10:54:00
--  
有点甜老师,我是在窗口事件BeforeClose中用 e.Form.Controls(stsz1(i)).Value <> dr1.OriginalValue(Cols1(i))判断是否做了修改,明明没有修改任何项,每次退出窗口都提示已修改。
--  作者:有点甜
--  发布时间:2017/11/29 10:59:00
--  

1、贴出全部代码

 

2、可以用这个 http://www.foxtable.com/webhelp/scr/0387.htm