Foxtable(狐表)用户栏目专家坐堂 → 如果是空值,这个条件不成立


  共有3170人关注过本帖树形打印复制链接

主题:如果是空值,这个条件不成立

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/11 15:03:00 [显示全部帖子]

if dr.isnull("权限条件一")
Tables("了").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >= #" & Date.Today.AddDays(dr("权限加载时间")) & "#")
else
Tables("了").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >= #" & Date.Today.AddDays(dr("权限加载时间")) & "# And 第三列 = '" & (dr("权限条件一")) & "' ")
end if

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/11 15:24:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/11 16:32:00 [显示全部帖子]

For Each dr  As DataRow In DataTables("表权限").Select(" 表名 = '了'" )
    If  dr.isnull("权限条件一") Then
        If dr.isnull("权限条件二") Then
            Tables("了").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >= #" & Date.Today.AddDays(dr("权限加载时间")) & "#")
        Else
            Tables("了").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >= #" & Date.Today.AddDays(dr("权限加载时间")) & "# And 第四列 = '" & (dr("权限条件二")) & "' ")
        End If
    ElseIf dr.isnull("权限条件二") Then
        Tables("了").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >= #" & Date.Today.AddDays(dr("权限加载时间")) & "# And 第三列 = '" & (dr("权限条件一")) & "' ")
    Else
        Tables("了").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >= #" & Date.Today.AddDays(dr("权限加载时间")) & "# And 第三列 = '" & (dr("权限条件一")) & "' And 第四列 = '" & (dr("权限条件二")) & "' ")
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/12 8:44:00 [显示全部帖子]

一样的逻辑,多嵌套几层if判断

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/12 10:05:00 [显示全部帖子]

或者考虑参考这里的方法生成查询条件:http://www.foxtable.com/webhelp/topics/1058.htm

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/12 10:44:00 [显示全部帖子]

换种方式生成查询条件:http://www.foxtable.com/webhelp/topics/1058.htm

不然每增加一个条件,都要嵌套n层,而且后面每个elseif里也要嵌套判断

       If  dr.isnull("权限加载时间") Then
            If  dr.isnull("权限条件一") Then
                If dr.isnull("权限条件二") Then
                    Tables("进货退货").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 <= '" & Date.Today.AddDays(dr("权限加载时间")) & "'")
                Else
                    Tables("进货退货").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >='" & Date.Today.AddDays(dr("权限加载时间")) & "' And 对账品名 = '" & (dr("权限条件二")) & "' ")
                End If 
        ElseIf dr.isnull("权限条件二") Then
If  dr.isnull("权限条件一") Then
xxxx
else
xxxx
end if
ElseIf dr.isnull("权限条件") Then
xxxx
        Else
            Tables("进货退货").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >='" & Date.Today.AddDays(dr("权限加载时间")) & "' And 店名汉字 = '" & (dr("权限条件一")) & "' And 对账品名 = '" & (dr("权限条件二")) & "' ")
        End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/12 11:51:00 [显示全部帖子]

换种方式生成查询条件:http://www.foxtable.com/webhelp/topics/1058.htm

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/12 13:40:00 [显示全部帖子]

很简单的东西,又何必搞那么复杂

dim filter as string = "1=1 "
If  dr.isnull("权限加载时间")=false Then
filter = filter & " and 日期 <= '" & Date.Today.AddDays(dr("权限加载时间")) & "'"
end if
If  dr.isnull("权限条件")=false Then
filter = filter & " And 店名汉字 = '" & (dr("权限条件一")) & "'"
end if
If  dr.isnull("权限条件")=false Then
filter = filter & " And 对账品名 = '" & (dr("权限条件二")) & "'"
end if
Tables("进货退货").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ,filter)


 回到顶部