以文本方式查看主题

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

--  作者:老头
--  发布时间:2014/6/23 9:11:00
--  确认个空值判断的问题

 

以前用 <> "" , isnull("编号") 来判断是否是空值;

 

刚写了段代码,判断的几个值都为空。还是执行到else的代码去了,判断貌似没起到作用,没看出来问题在哪儿?求指点

 

在BeforeSaveDataRow事件中

 

If  e.DataRow.IsNull("产品名称") = True And e.DataRow.IsNull ("计件成员") = True And e.DataRow.IsNull("计价方式")= True Then
    MessageBox.show("统计关键信息不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    e.Cancel = True
Else
    MessageBox.show(e.DataRow("产品名称") )
    e.DataRow("计件金额") = e.DataRow("计件成员")  * e.DataRow("计件单位")

endif


--  作者:Bin
--  发布时间:2014/6/23 9:13:00
--  
你确定这三个列都为空吗? 你用AND的话要3个都为空才会进入IF的哦.
--  作者:老头
--  发布时间:2014/6/23 9:15:00
--  

确定都为空,所以让我费解呀。


--  作者:Bin
--  发布时间:2014/6/23 9:16:00
--  
上例子吧
--  作者:老头
--  发布时间:2014/6/23 9:28:00
--  

 

代码在子表事件里

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:判断空值实例.foxdb


--  作者:有点甜
--  发布时间:2014/6/23 9:41:00
--  
If e.DataRow.IsNull("产品名称") OrElse e.DataRow.IsNull("计价方式") OrElse e.DataRow("工件单价") OrElse e.DataRow.IsNull("计件数量") Then
    MessageBox.show("为空")
Else
    MessageBox.show("不为空")
    \'e.Cancel = True
End If

--  作者:Bin
--  发布时间:2014/6/23 9:45:00
--  
你少写了一个判断


工件单价哪里都没写ISNULL

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:判断空值实例.foxdb