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


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

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

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:10495 威望:0 精华:0 注册:2013/6/8 16:19:00
  发帖心情 Post By:2020/11/12 10:10:00 [只看该作者]

For Each dr  As DataRow In DataTables("表权限").Select(" ','+角色用户+',' like '%," & user.Roles & ",%'  And  表名 = '进货退货' ")
        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
            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
End If 

    Next


这样是不是哪里错了  全部空值才起做用

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望: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

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:10495 威望:0 精华:0 注册:2013/6/8 16:19:00
  发帖心情 Post By:2020/11/12 11:42:00 [只看该作者]


    For Each dr  As DataRow In DataTables("表权限").Select(" ','+角色用户+',' like '%," & user.Roles & ",%'  And  表名 = '进货退货' ")
        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
                        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("权限加载时间")) & "'")
                Else
                    Tables("进货退货").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >='" & Date.Today.AddDays(dr("权限加载时间")) & "' And 店名汉字 = '" & (dr("权限条件一")) & "' And 对账品名 = '" & (dr("权限条件二")) & "' ")
                End If
                

        End If
    Next



还是没搞懂,试了一上午,没试岀来

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/12 11:51:00 [只看该作者]

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

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


加好友 发短信
等级:七尾狐 帖子:1553 积分:10495 威望:0 精华:0 注册:2013/6/8 16:19:00
  发帖心情 Post By:2020/11/12 11:58:00 [只看该作者]

我不想用这种的

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望: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)


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


加好友 发短信
等级:七尾狐 帖子:1553 积分:10495 威望:0 精华:0 注册:2013/6/8 16:19:00
  发帖心情 Post By:2020/11/12 13:59:00 [只看该作者]

恩这个好,简单很多,一下就看懂了  太感谢了

 回到顶部
总数 17 上一页 1 2