以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  空值的条件判断  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132839)

--  作者:zpsun2003
--  发布时间:2019/3/31 10:26:00
--  空值的条件判断
空值的条件判断,麻烦老师给看下:
Tables("学习记忆表").Filter = "[可修正参数_铁芯级数] = \'" & DataTables("圆形计算程序").Find("参数名称 = \'铁芯级数\'")("修正") & "\'"
Tables("学习记忆表")里[可修正参数_铁芯级数]列为Double型,里面是空值
DataTables("圆形计算程序").Find("参数名称 = \'铁芯级数\'")("修正")也是Double型,里面也是空值
但上面的条件不成立,应该怎么判断呢?

--  作者:李孝春
--  发布时间:2019/3/31 16:50:00
--  回复:(zpsun2003)空值的条件判断
Tables("学习记忆表").Filter = "[可修正参数_铁芯级数] = \'" & DataTables("圆形计算程序").Find("参数名称 = \'铁芯级数\'")("修正") & "\'"
Tables("学习记忆表")里[可修正参数_铁芯级数]列为Double型,里面是空值
DataTables("圆形计算程序").Find("参数名称 = \'铁芯级数\'")("修正")也是Double型,里面也是空值



你这个根本就没有执行空值判断好不好,你是在嵌套了一个查询值而已
可以参考如下:
dim ab as  row=Tables("学习记忆表").current
if ab("可修正参数_铁芯级数") =""  then
    ’执行代码1
   else
    ’执行代码2
end if

--  作者:zpsun2003
--  发布时间:2019/3/31 17:07:00
--  
关键我想执行一个筛选功能:
代码写在:"圆形计算程序"表的AfterEdit事件中,
DataTables("圆形计算程序").Find("参数名称 = \'铁芯级数\'")("修正")这个单元格中的内容发生修改时,自动筛选"学习记忆表"中[可修正参数_铁芯级数]列,如果都是数值的话这个代码没有问题,但要判断是不是空值就不对了,我想实现通过一个单元格的空值去筛选某一列中是空值的行


--  作者:有点甜
--  发布时间:2019/4/1 9:34:00
--  

参考

 

Dim s = DataTables("圆形计算程序").Find("参数名称 = \'铁芯级数\'")("修正")

If s = nothing Then

    Tables("学习记忆表").Filter = "[可修正参数_铁芯级数] is null"

Else

    Tables("学习记忆表").Filter = "[可修正参数_铁芯级数] = \'" & s & "\'"

End if