以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Find 条件查找的时候,如果某字段是空值,如何查询呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133983) |
-- 作者:Hareen时代 -- 发布时间:2019/4/24 16:21:00 -- Find 条件查找的时候,如果某字段是空值,如何查询呢? 老师好:
我想用find去条件查找表里面的行,在写条件字段的时候,某些字段的值既有空值又有不是空值的情况、 最后搜索出来的结果就自动的把空值的情况没有找到。 比如现在想在A表和B表之间建立查询,A表和B表都有很多字段是:“维度1” ,“维度2”,“维度3” ,维度字段里面有的是有数值的,有的是空值 我写代码的时候 datatbles(A).find("维度1 = ‘" & dr("维度1") & "’ and 维度2 = ‘" & dr("维度2") & "’ and 维度3 = ‘" & dr("维度3") & "’ “) 这样在查找出来的结果,只有这三个字段全部有值才能查找出来,如果某个字段没有值,就查找不出来;比如果维度1和维度2都有数值,维度3没有值,这个时候就找不到这一行了 其实遇到这种情况,要是自动能忽略维度3的空值,直接查找维度1和维度2就好了 这个有办法解决嘛? |
-- 作者:有点甜 -- 发布时间:2019/4/24 16:24:00 -- 判断值,合成条件,如
Dim filter as string = "1=1" If dr("维度1") = nothing Then filter &= " and 维度1 is null" Else filter &= " and 维度1 = \'" & dr("维度1") & "\'" End If If dr("维度2") = nothing Then filter &= " and 维度2 is null" Else filter &= " and 维度2 = \'" & dr("维度2") & "\'" End If
msgbox(filter) |