以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  目录树错误求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=142141)

--  作者:有点蓝
--  发布时间:2019/10/19 15:55:00
--  
msgbox(flt) \'确定这个是正确的表达式条件?

--  作者:有点蓝
--  发布时间:2019/10/19 17:09:00
--  
msgbox(e.Node.FullName)这个显示什么内容?想达到什么效果?
--  作者:有点蓝
--  发布时间:2019/10/19 18:12:00
--  
请回答4楼的问题

msgbox(e.Node.FullName)这个显示什么内容?最终生成的表达式需要是什么样的?

--  作者:有点酸
--  发布时间:2019/10/19 22:44:00
--  
如果你看懂了3楼的代码, 或者你懂一点表达式的基础常识,就知道你一楼的代码有多么的荒缪。

其实这种问题,你直接显示一下合成的表达式,就知道原因了:

Dim strs() As String = e.Node.FullName.Split("\\")
Dim flt As String = "1=1"
For i As Integer = 0 To strs.Length - 1 \'\'间接获取目录树层级(Level)
    flt +=  strs(i)
Next
If flt > "" Then
    Messagebox.Show(flt)
    Tables("项目选型表").Filter = flt
End If


既然是合成表达式,而且应用合成的表达式出错,那么显示一下合成的表达式,看看是否符合预期,这不是自然而然的事情吗?