Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样实现这种筛选功能?


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

主题:[求助]怎样实现这种筛选功能?

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
[求助]怎样实现这种筛选功能?  发帖心情 Post By:2016/10/12 20:40:00 [只看该作者]

怎样实现这种筛选功能? 设置了一个使用单位的筛选框,我想在这个框输入单位名1、单位名2、单位3 可能是3个以上,不确定。代码怎样写?

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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/12 20:53:00 [只看该作者]

'''
Dim dw As String = e.Form.controls("ComboBox1").Text
Tables("表A").Filter = "单位 in ('" & dw.Replace("、","','") & "')"

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/10/12 21:49:00 [只看该作者]

单位名能不能改成可以模糊查找

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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/12 22:10:00 [只看该作者]

'''
Dim dw As String = e.Form.controls("ComboBox1").Text
Dim str() As String = dw.Split("、")
Dim filter As String = "1=2"
For Each s As String In str
    filter &= " or 单位 like '%" & s & "%'"
Next
Tables("表A").Filter = filter

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/10/12 22:19:00 [只看该作者]

老师搞不行,怎样用我的代码与你的代码结合。
Dim Filter As String
With e.Form.Controls("单位查找")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
    Filter = Filter & "使用单位 like '%" & .Value & "%'"
    End If
End With
With e.Form.Controls("合同号查找")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "合同编号 like '%" & .Value & "%'"
    End If
End With
With e.Form.Controls("出厂编号查找")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出厂编号 like '%" & .Value & "%'"
    End If
End With
With e.Form.Controls("制造日期查找")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "制造日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("制造日期查找2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "制造日期 <= #" & .Value & "#"
    End If
End With
If Filter > "" Then
    Tables("基本信息表").Filter = Filter
End If

[此贴子已经被作者于2016/10/12 22:20:23编辑过]

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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/12 22:43:00 [只看该作者]

With e.Form.Controls("单位查找")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
    Dim str() As String = .Value.Split("、")
filter &= "(1=2"
For Each s As String In str
    filter &= " or 使用单位 like '%" & s & "%'"
Next
filter &= ")"
    End If
End With
[此贴子已经被作者于2016/10/12 22:44:07编辑过]

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/10/12 23:20:00 [只看该作者]

可以了,谢谢老师。

[此贴子已经被作者于2016/10/13 6:19:34编辑过]

 回到顶部