Foxtable(狐表)用户栏目专家坐堂 → 多值快速搜索难题


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

主题:多值快速搜索难题

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/11 16:55:00 [显示全部帖子]

Dim sarr() As String = e.Form.Controls("TextBox1").Text.split(" ")
Dim filter As String = "1=1"
For Each s As String In sarr
    filter &= " and 第一列 like '%" & s & "%'"
Next

Tables("表A").Filter = filter

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/5 16:29:00 [显示全部帖子]

Dim sarr() As String = {"a","b","c"}
Dim Filter As String = "1=2"
For Each dc As Col In Tables("表A").Cols '遍历表的所有列
    If dc.DataCol.IsDate OrElse dc.DataCol.IsBoolean OrElse dc.DataCol.IsNumeric Then  '如果是时间列,逻辑列,数值列
        Continue For    '排除
    End If
        'Filter  = Filter & " Or "
    For Each s As String In sarr
        Filter = Filter  & "or ([" & dc.Name & "] Like '*" & s.Replace("*","[*]").Replace("%","[%]")  & "*')"    '根据控件值迷糊筛选
    Next
    
Next

Output.Show(Filter )

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/5 16:59:00 [显示全部帖子]

Dim sarr() As String = {"a","b","c"}
Dim Filter As String = "1=1"
For Each dc As Col In Tables("表A").Cols '遍历表的所有列
    If dc.DataCol.IsDate OrElse dc.DataCol.IsBoolean OrElse dc.DataCol.IsNumeric Then  '如果是时间列,逻辑列,数值列
        Continue For    '排除
    End If
    Filter  = Filter & " and ("
    Dim f2 As String = " 1=2 "
    For Each s As String In sarr
        f2 = f2  & "or ([" & dc.Name & "] Like '*" & s.Replace("*","[*]").Replace("%","[%]")  & "*')"    '根据控件值迷糊筛选
    Next
    Filter  &= f2 & ")"
Next

Output.Show(Filter )

 回到顶部