Foxtable(狐表)用户栏目专家坐堂 → 求助 目录树


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

主题:求助 目录树

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
求助 目录树  发帖心情 Post By:2020/2/28 21:53:00 [显示全部帖子]

老师:
          您好!

 

Dim kk As String = ("( = '2020' And = '02' And = '24') and ((odkl = '女装' and  ffaa = '连衣裙') or (odkl = '女装' and ffaa = '恤衫')) and (kkth = 'Ms lee')")

tables("表A").Filter = kk

以上是根根下边三个多选筛选树得出的字句合成的的

以上代码可以从表A 筛选


以下三个选筛选树的代码:
Dim nms As String() = {"年","月","日"} '指定生成目录树的各列
Dim qts As String() = {"'","'","'"} '指定将各列的值括起来的符号,这里都是字符型,所以都是单引号
Dim tr1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim flt As String
Dim nd As WinForm.TreeNode
For Each nd In tr1.SelectedNode.allNodes '清除子节点的选中标记
    nd.Checked = False
Next
nd = tr1.SelectedNode.ParentNode
Do While nd IsNot Nothing '清除父节点的选中标记
    nd.Checked = False
    nd = nd.ParentNode
Loop
For Each nd In tr1.AllNodes
    If nd.Checked  Then
        Dim rts() As String = nd.FullPath.Split("\")
        Dim val As String = ""
        For i As Integer = 0 To rts.length - 1
            If val > "" Then
                val = val & " And "
            End If
            val = val & nms(i) & " = " & qts(i) & rts(i) & qts(i)
        Next
        If flt > "" Then
            flt = flt & " Or (" & val & ")"
        Else
            flt = val
        End If
    End If
Next 
Dim tr2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim odkl As String
For Each nd1 As WinForm.TreeNode In tr2.SelectedNode.Nodes '清除子节点选中状态
    nd1.Checked = False
Next
If tr2.SelectedNode.ParentNode IsNot Nothing Then '去掉父节点选中状态
    tr2.SelectedNode.ParentNode.Checked = False
End If
For Each nd1 As WinForm.TreeNode In tr2.AllNodes
    If nd1.Checked Then
        If odkl > "" Then
            odkl = odkl & " Or "  '注意用or而不是And
        End If
        If nd1.Level = 0 Then '注意下面的条件都要用括号括起来
            odkl = odkl & "( odkl = '" & nd1.Text & "')"
        Else
            odkl = odkl & "( odkl = '" & nd1.ParentNode.Text & "' And ffaa = '" & nd1.Text & "')"
        End If
    End If
Next
Dim tr3 As WinForm.TreeView = e.Form.Controls("TreeView3")
Dim kkth As String
For Each nd2 As WinForm.TreeNode In tr3.SelectedNode.Nodes '清除子节点选中状态
    nd2.Checked = False
Next
If tr3.SelectedNode.ParentNode IsNot Nothing Then '去掉父节点选中状态
    tr3.SelectedNode.ParentNode.Checked = False
End If
For Each nd2 As WinForm.TreeNode In tr3.AllNodes
    If nd2.Checked Then
        If kkth > "" Then
            kkth = kkth & " Or "  '注意用or而不是And
        End If
        If nd2.Level = 0 Then '注意下面的条件都要用括号括起来
            kkth = kkth & "( kkth = '" & nd2.Text & "')"
        End If
    End If
Next
Tables("表A").Filter = ((flt) And (odkl) And (kkth))
提示:
"从字符串“年 = '2020' And 月 = '02' And 日 = ”到类型“Long”的转换无效"
以上的 年 月  日 三列都是字符型
请老师指教!!!
谢谢!!!
[此贴子已经被作者于2020/2/28 22:00:18编辑过]

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/28 22:02:00 [显示全部帖子]

谢谢老师!!!
谢谢!!!

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/28 22:21:00 [显示全部帖子]

老师:
您好!
改了代码后三个多选筛选树都选,就可以,
如果其中一个没选中就有如下提示:
语法错误:“”运算符后缺少操作数。
请老师指教!!!
谢谢!!!

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/28 22:30:00 [显示全部帖子]

谢谢老师!!!
谢谢!!!

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/28 22:53:00 [显示全部帖子]

老师:
您好!
保存不了,
提示:

编译错误:应为表达式。

Tables("A").Filter = "(" & IF(flt>"",flt,"1=1") & ") And (" & IF(kkth>"",kkth,"1=1") & ") And (" & IF(odkl>"",odkl,"1=1")& ")"

请老师指点!!!

谢谢!!!



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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 11:05:00 [显示全部帖子]

老师:
您 好!

老师:上传了压缩文件,但看不到
谢谢!!!
[此贴子已经被作者于2020/2/29 11:10:30编辑过]

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 11:16:00 [显示全部帖子]

好的!


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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 11:18:00 [显示全部帖子]

老师:
您好!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.rar
如果那个筛选树,没有勾选 就有提示:
语法错误:“”运算符后缺少操作数
谢谢老师!!!
谢谢!!!
[此贴子已经被作者于2020/2/29 11:36:03编辑过]

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 14:01:00 [显示全部帖子]

老师:
请把您测试的传上来的核对一下,我的还是有问题.
谢谢!!!

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


加好友 发短信
等级:三尾狐 帖子:668 积分:5184 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2020/2/29 14:20:00 [显示全部帖子]

老师:

您好!

以下是截图,任一个树没勾选都会提示,加了判断代码也是一样会有提示


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

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

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

 

 

Dim nms As String() = {"年","月","日"} '指定生成目录树的各列
Dim qts As String() = {"'","'","'"} '指定将各列的值括起来的符号,这里都是字符型,所以都是单引号
Dim tr1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim flt As String
Dim nd As WinForm.TreeNode
If tr1.SelectedNode Is Nothing
    MessageBox.Show("AA")
Else
    For Each nd In tr1.SelectedNode.allNodes '清除子节点的选中标记
        nd.Checked = False
    Next
    nd = tr1.SelectedNode.ParentNode
    Do While nd IsNot Nothing '清除父节点的选中标记
        nd.Checked = False
        nd = nd.ParentNode
    Loop
End If
    For Each nd In tr1.AllNodes
        If nd.Checked  Then
            Dim rts() As String = nd.FullPath.Split("\")
            Dim val As String = ""
            For i As Integer = 0 To rts.length - 1
                If val > "" Then
                    val = val & " And "
                End If
                val = val & nms(i) & " = " & qts(i) & rts(i) & qts(i)
            Next
            If flt > "" Then
                flt = flt & " Or (" & val & ")"
            Else
                flt = val
            End If
        End If
    Next
Dim tr2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim odkl As String
If tr2.SelectedNode IsNot Nothing
    For Each nd1 As WinForm.TreeNode In tr2.SelectedNode.Nodes '清除子节点选中状态
        nd1.Checked = False
    Next
    If tr2.SelectedNode.ParentNode IsNot Nothing Then '去掉父节点选中状态
        tr2.SelectedNode.ParentNode.Checked = False
    End If
End If
    For Each nd1 As WinForm.TreeNode In tr2.AllNodes
        If nd1.Checked Then
            If odkl > "" Then
                odkl = odkl & " Or "  '注意用or而不是And
            End If
            If nd1.Level = 0 Then '注意下面的条件都要用括号括起来
                odkl = odkl & "( 类别 = '" & nd1.Text & "')"
            Else
                odkl = odkl & "( 类别 = '" & nd1.ParentNode.Text & "' And 款式 = '" & nd1.Text & "')"
            End If
        End If
    Next
Dim tr3 As WinForm.TreeView = e.Form.Controls("TreeView3")
Dim kkth As String
If tr3.SelectedNode IsNot Nothing
    For Each nd2 As WinForm.TreeNode In tr3.SelectedNode.Nodes '清除子节点选中状态
        nd2.Checked = False
    Next
    If tr3.SelectedNode.ParentNode IsNot Nothing Then '去掉父节点选中状态
        tr3.SelectedNode.ParentNode.Checked = False
    End If
End If
    For Each nd2 As WinForm.TreeNode In tr3.AllNodes
        If nd2.Checked Then
            If kkth > "" Then
                kkth = kkth & " Or "  '注意用or而不是And
            End If
            If nd2.Level = 0 Then '注意下面的条件都要用括号括起来
                kkth = kkth & "( 品牌 = '" & nd2.Text & "')"
            End If
        End If
    Next
Tables("表A").Filter = "(" & flt & ") And (" & odkl & ") And (" & kkth & ")"


请老师指教!!!

谢谢!!!


 


 回到顶部
总数 13 1 2 下一页