以文本方式查看主题

-  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=149510)

--  作者:andy-1024
--  发布时间:2020/5/5 2:55:00
--  数值型控件空值的判断

老师好,我现在有一个界面,里面有一个数值型输入框,如果为空,则表中对应单元格也为空,如果为0或者其它数字,则表中对应单元格也为相应的数值。

运行程序时,我发现,我填入0的时候保存数据,然后表中对应单元格为空,我加入了一个判断语句:

MessageBox.Show(NmR1F.Value = Nothing)
r("Ran1From") = IIF(NmR1F.Value = Nothing, Nothing, NmR1F.Value)

发现输出为True。


图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

前两天我问了一个问题,老师回复说数值型的控件应该用 .value = nothing,而不是.value is nothing 来判断,所以我把之前的Is都改为=了,就出这个问题了。


图片点击可在新窗口打开查看此主题相关图片如下:捕获1.jpg
图片点击可在新窗口打开查看

 

所以我想问一下,我的控件中输入的是0,是一个数,不同于空值,按照我的判断语句,0不等于nothing,语句应该返回控件中的值才对呀。

 

然后我把语句改回为
r("Ran1From") = IIF(NmR1F.Value Is Nothing, Nothing, NmR1F.Value)

保存后单元格就是正确的了,显示为0

 

给我搞糊涂了,请老师指点。

[此贴子已经被作者于2020/5/5 2:59:10编辑过]

--  作者:有点蓝
--  发布时间:2020/5/5 8:54:00
--  
如果是绑定的,到表格事件处理:http://www.foxtable.com/webhelp/topics/2436.htm,使用isnull判断单元格是否为空:http://www.foxtable.com/webhelp/topics/1470.htm
--  作者:andy-1024
--  发布时间:2020/5/6 3:26:00
--  

可是我的数值输入框没有绑定到任何表格啊。


--  作者:有点蓝
--  发布时间:2020/5/6 8:36:00
--  
r("Ran1From") = IIF(NmR1F.text="", Nothing, NmR1F.text)