以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]多条件加载出不来想要的结果  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=91066)

--  作者:ajie5211
--  发布时间:2016/9/28 16:26:00
--  [求助]多条件加载出不来想要的结果

如图,如何把节点下面所包的条目都显示出来?

我现在的代码如下

Dim filter As String
If e.Node.Name = "显示所有" Then
    filter = ""
Else
    If e.Node.Name.Length = 5 Then
        If e.Node.Nodes.Count > 0 Then
            Dim ss As String
            ss = "\'" & e.Node.Nodes(0).Name & "\'"
            For i As Integer = 1 To e.Node.Nodes.Count - 1
                ss = ss & ",\'" & e.Node.Nodes(0).Name & "\'"
            Next
            filter = "[产品名称] In (" & ss & ")"
        End If
    Else
        filter = "产品名称 = \'" & e.Node.Name & "\'"
    End If
End If
Tables("料号对BOM_Table1").Filter = filter

正常希望达到的是,点节点时,节点下有两条数据的,就出来这两条数据的东西,但现在只能出来一条,求方案。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160928162227.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160928162259.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2016/9/28 16:48:00
--  
Dim filter As String
If e.Node.Name = "显示所有" Then
    filter = ""
Else
    If e.Node.Level = 1 Then
        If e.Node.Nodes.Count > 0 Then
            Dim ss As String
            ss = "\'" & e.Node.Nodes(0).Name & "\'"
            For i As Integer = 1 To e.Node.Nodes.Count - 1
                ss = ss & ",\'" & e.Node.Nodes(0).Name & "\'"
            Next
            filter = "[产品名称] In (" & ss & ")"
        End If
    Else
        filter = "产品名称 = \'" & e.Node.Name & "\'"
    End If
End If
msgbox(filter) \'看看条件’
Tables("料号对BOM_Table1").Filter = filter

--  作者:ajie5211
--  发布时间:2016/9/28 16:53:00
--  
以下是引用有点蓝在2016/9/28 16:48:00的发言:
Dim filter As String
If e.Node.Name = "显示所有" Then
    filter = ""
Else
    If e.Node.Level = 1 Then
        If e.Node.Nodes.Count > 0 Then
            Dim ss As String
            ss = "\'" & e.Node.Nodes(0).Name & "\'"
            For i As Integer = 1 To e.Node.Nodes.Count - 1
                ss = ss & ",\'" & e.Node.Nodes(0).Name & "\'"
            Next
            filter = "[产品名称] In (" & ss & ")"
        End If
    Else
        filter = "产品名称 = \'" & e.Node.Name & "\'"
    End If
End If
msgbox(filter) \'看看条件’
Tables("料号对BOM_Table1").Filter = filter

条目都有,就是只出来一条结果。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160928165208.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2016/9/28 17:11:00
--  
检查有没有其它代码影响到了。上传例子看看
--  作者:ajie5211
--  发布时间:2016/9/28 17:58:00
--  
以下是引用有点蓝在2016/9/28 17:11:00的发言:
检查有没有其它代码影响到了。上传例子看看

附件请查看!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


--  作者:有点蓝
--  发布时间:2016/9/28 20:19:00
--  

Dim filter As String
If e.Node.Name = "显示所有" Then
    filter = ""
Else
    If e.Node.Level = 0 Then
        If e.Node.Nodes.Count > 0 Then
            Dim ss As String
            ss = "\'" & e.Node.Nodes(0).Name & "\'"
            For i As Integer = 1 To e.Node.Nodes.Count - 1
                ss = ss & ",\'" & e.Node.Nodes(i).Name & "\'"
            Next
            filter = "[产品名称] In (" & ss & ")"
        End If
    Else
        filter = "产品名称 = \'" & e.Node.Name & "\'"
    End If
End If
Tables("窗口1_Table1").Filter = filter