以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如果是空值,这个条件不成立  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158205)

--  作者:qazlinle6
--  发布时间:2020/11/11 14:57:00
--  如果是空值,这个条件不成立
For Each dr  As DataRow In DataTables("表权限").Select(" 表名 = \'了\'" )
Tables("了").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >= #" & Date.Today.AddDays(dr("权限加载时间")) & "# And 第三列 = \'" & (dr("权限条件一")) & "\' ")
Next


And 第三列 = \'" & (dr("权限条件一")) & "\' ")
如果权限条件一是空值,这个条件不成立
[此贴子已经被作者于2020/11/11 14:59:13编辑过]

--  作者:有点蓝
--  发布时间: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

--  作者:qazlinle6
--  发布时间:2020/11/11 15:19: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
if dr.isnull("权限条件二")
Tables("了").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >= #" & Date.Today.AddDays(dr("权限加载时间")) & "#")
else
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

--  作者:有点蓝
--  发布时间:2020/11/11 15:24:00
--  
http://www.foxtable.com/webhelp/topics/0223.htm
--  作者:qazlinle6
--  发布时间:2020/11/11 16:20:00
--  
For Each dr  As DataRow In DataTables("表权限").Select(" 表名 = \'了\'" )
If  dr.isnull("权限条件一") Then
    Tables("了").OpenLoadTree(dr("权限加载列名"),dr("权限加载尺寸"), , ," 日期 >= #" & Date.Today.AddDays(dr("权限加载时间")) & "#")
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


权限条件一空值,权限条件二有值,不起做用

--  作者:有点蓝
--  发布时间: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

--  作者:qazlinle6
--  发布时间:2020/11/11 17:58:00
--  
权限加载时间是空值加载全部日期
--  作者:有点蓝
--  发布时间:2020/11/12 8:44:00
--  
一样的逻辑,多嵌套几层if判断
--  作者:qazlinle6
--  发布时间:2020/11/12 9:38: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




????????????????

--  作者:有点蓝
--  发布时间:2020/11/12 10:05:00
--  
或者考虑参考这里的方法生成查询条件:http://www.foxtable.com/webhelp/topics/1058.htm