以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]目录树选择日期出错,请帮忙!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123310)

--  作者:小刚
--  发布时间:2018/8/11 21:49:00
--  [求助]目录树选择日期出错,请帮忙!
[求助]目录树选择日期出错,请帮忙!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树.rar



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


--  作者:小刚
--  发布时间:2018/8/11 21:51:00
--  
“显示全部订单”   也不能正常使用,请帮忙。
--  作者:有点甜
--  发布时间:2018/8/12 22:28:00
--  

Dim trv As WinForm.TreeView = e.Sender
Dim flt As String = ""
For Each nd As WinForm.TreeNode In e.node.AllNodes \'清除子节点选中状态
    nd.Checked = False
Next
If e.node.ParentNode IsNot Nothing Then \'去掉父节点选中状态
    e.node.ParentNode.Checked = False
    If e.node.ParentNode.ParentNode  IsNot Nothing Then \'去掉父节点选中状态
        e.node.ParentNode.ParentNode.Checked = False
        If e.node.ParentNode.ParentNode.ParentNode    IsNot Nothing Then \'去掉父节点选中状态
            e.node.ParentNode.ParentNode.ParentNode.Checked = False
        End If
    End If
End If
Dim Value()As String
If e.node.text = "显示全部订单" AndAlso e.node.Checked Then
   
Else
    For Each nd As WinForm.TreeNode In trv.AllNodes
        If nd.Checked Then
            Value = nd.FullName.Split("\\")
            If flt > "" Then
                flt = flt & " Or "  \'注意用or而不是And
            End If
            If nd.Level = 0 Then \'注意下面的条件都要用括号括起来
                flt = flt & "( 客户名称 = \'" & nd.Text & "\')"
            ElseIf nd.Level = 1
                Dim dt1 As Date = nd.text
                Dim dt2 As Date = dt1.adddays(1)
                flt = flt & "( 客户名称 = \'" & Value(0) & "\' And 下单日期 <=#" & dt2 & "# And 下单日期>=#" & dt1 & "#)"
            End If
        End If
    Next
End If

Tables("订单").Filter = flt


--  作者:小刚
--  发布时间:2018/8/13 23:10:00
--  
谢谢老师,提示错误。
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20180813231720.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/8/13 23:18:32编辑过]

--  作者:有点甜
--  发布时间:2018/8/14 9:20:00
--  
请上传对应的实例。
--  作者:小刚
--  发布时间:2018/8/14 10:30:00
--  
请帮忙看一下   谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树.rar


--  作者:有点甜
--  发布时间:2018/8/14 10:41:00
--  
Dim trv As WinForm.TreeView = e.Sender
Dim flt As String = ""
For Each nd As WinForm.TreeNode In e.node.AllNodes \'清除子节点选中状态
    nd.Checked = False
Next
If e.node.ParentNode IsNot Nothing Then \'去掉父节点选中状态
    e.node.ParentNode.Checked = False
    If e.node.ParentNode.ParentNode  IsNot Nothing Then \'去掉父节点选中状态
        e.node.ParentNode.ParentNode.Checked = False
        If e.node.ParentNode.ParentNode.ParentNode    IsNot Nothing Then \'去掉父节点选中状态
            e.node.ParentNode.ParentNode.ParentNode.Checked = False
        End If
    End If
End If
Dim Value()As String
If e.node.text = "显示全部订单" AndAlso e.node.Checked Then
   
Else
    For Each nd As WinForm.TreeNode In trv.AllNodes
        If nd.Checked Then
            Value = nd.FullName.Split("\\")
            If flt > "" Then
                flt = flt & " Or "  \'注意用or而不是And
            End If
            If nd.Level = 0 Then \'注意下面的条件都要用括号括起来
                flt = flt & "( 客户名称 = \'" & nd.Text & "\')"
            ElseIf nd.Level = 1
                Dim dr = nd.DataRow
                Dim dt1 As Date = new Date(dr("年"), 1, 1)
                Dim dt2 As Date = dt1.addyears(1)
                flt = flt & "( 客户名称 = \'" & Value(0) & "\' And 下单日期 <#" & dt2 & "# And 下单日期>=#" & dt1 & "#)"
            ElseIf nd.Level = 2
                Dim dr = nd.DataRow
                Dim dt1 As Date = new Date(dr("年"), dr("月"), 1)
                Dim dt2 As Date = dt1.addmonths(1)
                flt = flt & "( 客户名称 = \'" & Value(0) & "\' And 下单日期 <#" & dt2 & "# And 下单日期>=#" & dt1 & "#)"
            End If
        End If
    Next
End If
\'msgbox(flt)
Tables("订单").Filter = flt

--  作者:小刚
--  发布时间:2018/8/14 11:21:00
--  
谢谢老师。显示所有行   这个选择  好像还不能使用,请帮忙再看看。
--  作者:有点甜
--  发布时间:2018/8/14 11:23:00
--  

修改红色代码

 

If e.node.text = "显示全部订单" AndAlso e.node.Checked Then