Foxtable(狐表)用户栏目专家坐堂 → 多值筛选


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

主题:多值筛选

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
多值筛选  发帖心情 Post By:2016/6/10 9:50:00 [只看该作者]

以下是在窗口中筛选的一段代码,错误的原因是黄色代码,该怎么修改?

 Case "checkedcomboBox1"
        Dim txt As String = e.Form.Controls("checkedcomboBox1").Text
        If txt = "" Then
            tbl.DataTable.loadFilter = ""
            tbl.DataTable.load()
        Else
            Dim lis() As String =txt.Split(",")
            Dim filter As String
            For Each li As String In lis
                filter = "filter & Or   公司名称 Like " & "'%" & li & "%'"
            Next
            tbl.DataTable.loadFilter =filter
            tbl.DataTable.load()
        End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/10 10:31:00 [只看该作者]

Dim lis() As String = txt.Split(",")
Dim filter As String = “1=2”
For Each li As String In lis
    filter = filter & " Or 公司名称 Like '%" & li & "%'"
Next
tbl.DataTable.loadFilter =filter
tbl.DataTable.load()

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/6/12 9:03:00 [只看该作者]

知其然,更要知其所以然,楼主参考:

http://www.foxtable.com/help/topics/1284.htm

 


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2017/10/6 6:33:00 [只看该作者]

t.Filter = "交易户名 = '" & .Current("交易户名") & "'and 资金类型 = '" & .Current("资金类型") & "' and 调查项目 = '" & .Current("调查项目") & "'"

以上代码中”交易户名“ 和“资金类型”都是多值字段。


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2017/10/6 6:44:00 [只看该作者]

Dim t As Table =Tables("查证汇总_table1")
    With Tables("查证汇总")
        If .Current Is Nothing AndAlso .Current.Isnull("交易户名") = False AndAlso .Current.Isnull("资金类型") = False AndAlso .Current.Isnull("调查项目") = False Then
            t.Filter = "False"
        Else
            Dim hm() As String = .Current("交易户名").Split(",")

Dim zjlx() As String = .Current("资金类型").Split(",")


                                  t.Filter = "交易户名 in '" &  hm & "' and 资金类型 in '" & zjlx & "' and 调查项目 = '" & .Current("调查项目") & "'"
                   End If

黄色部分应该怎么修改?


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2017/10/6 7:22:00 [只看该作者]

Dim hms() As String = .Current("户名").Split(",")
            Dim zjlxs() As String = .Current("资金类型").Split(",")
            Dim filterhm As String
            For Each hm As String In hms
                filterhm = filterhm & " 交易户名 = '" & hm & "'Or"
            Next
            Dim filterhm1 As String = filterhm.Trim("Or")
            msgbox(filterhm1)
            Dim filterzjlx As String
            For Each zjlx As String In zjlxs
                filterzjlx = filterzjlx & " 资金类型 = '" & zjlx & "'Or"
            Next
            Dim filterzjlx1 As String = filterzjlx.Trim("Or")
            msgbox(filterzjlx1)

 

以上代码中为什么末尾的or还是去不掉呢?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/6 10:51:00 [只看该作者]

Dim t As Table =Tables("查证汇总_table1")
With Tables("查证汇总")
    If .Current Is Nothing AndAlso .Current.Isnull("交易户名") = False AndAlso .Current.Isnull("资金类型") = False AndAlso .Current.Isnull("调查项目") = False Then
        t.Filter = "False"
    Else
        Dim hm As String = .Current("交易户名").replace(",", "','")
        Dim zjlx As String = .Current("资金类型").replace(",", "','")
     
        t.Filter = "交易户名 in ('" &  hm & "') and 资金类型 in ('" & zjlx & "') and 调查项目 = '" & .Current("调查项目") & "'"
    End If
End With

 回到顶部