Foxtable(狐表)用户栏目专家坐堂 → 关于Filter


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

主题:关于Filter

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


加好友 发短信
等级:小狐 帖子:358 积分:4035 威望:0 精华:0 注册:2014/7/29 23:42:00
关于Filter  发帖心情 Post By:2015/1/12 8:50:00 [只看该作者]

 自己构建treeview 的筛选树,点击一层节点,可以在表中显示相应的筛选数据。
用 and 和 or 连接一些条件表达式,但是发现当连接的表达式在3-4个的时候,可以正确筛选,按照同样的格式,表达式多了,就不工作了。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/12 8:51:00 [只看该作者]

你条件迷糊了吧.   筛选不出数据 还是筛选数据混乱?  你弹出你设置的FIlter 看看 再对比一下数据就知道了

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


加好友 发短信
等级:小狐 帖子:358 积分:4035 威望:0 精华:0 注册:2014/7/29 23:42:00
回复:(Bin)你条件迷糊了吧.   筛选不出数据 还...  发帖心情 Post By:2015/1/12 8:56:00 [只看该作者]

Dim Filter As String
Dim txt As String = e.Form.Controls("TextBox1").Text
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 0
            Filter = "[类别] = '" & dr("类别") & "'"
        Case 1
            Filter = "[类别] = '" & dr("类别") & "' And [项别] = '" & dr("项别") & "'"
    End Select
End If

txt = "'%" & txt & "%'"

Dim Filter2 As String

Filter2 = "危险 Like " & txt & " or 预防 Like " & txt & " or 应急 Like " & txt

Tables("BasicLabel").Filter = Filter2 & "And" & Filter

Filter2 再增加相应格式的条件表达式,就不筛选了。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/12 9:00:00 [只看该作者]

呵呵,你筛选条件迷糊了.  你自己搞乱了.

你是不是想要这个结果?  这个意思?

Filter2 = "(危险 Like " & txt & " or 预防 Like " & txt & " or 应急 Like " & txt & ")"

Tables("BasicLabel").Filter = Filter2 & " And " & Filter

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


加好友 发短信
等级:小狐 帖子:358 积分:4035 威望:0 精华:0 注册:2014/7/29 23:42:00
回复:(Bin)呵呵,你筛选条件迷糊了.  你自己搞...  发帖心情 Post By:2015/1/12 9:23:00 [只看该作者]

 谢谢您!调试了一下,可以用了
我看到比我多了几个括号,还有&
这是为什么呢?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/12 9:27:00 [只看该作者]

没有多什么&  就是多了一个括号

你弹出条件观察一下就能理解了. 要解释还真不好解释.      "列1=1 and 列2=2 or 列3=4"    和 "列1=1 and (列2=2 or 列3=4)"   肯定是不一样的

括号里的判断会识别为一个整体

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


加好友 发短信
等级:小狐 帖子:358 积分:4035 威望:0 精华:0 注册:2014/7/29 23:42:00
回复:(Bin)没有多什么&  就是多了一个括号...  发帖心情 Post By:2015/1/12 9:32:00 [只看该作者]

 那我有些理解了,或和与的问题,需要给它隔开,例子里貌似没有,或者都是或,或者都是与,呵呵,谢谢!

 回到顶部