Foxtable(狐表)用户栏目专家坐堂 → [求助]如何进行动态筛选


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

主题:[求助]如何进行动态筛选

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


加好友 发短信
等级:三尾狐 帖子:622 积分:5303 威望:0 精华:0 注册:2022/4/4 14:42:00
[求助]如何进行动态筛选  发帖心情 Post By:2022/11/4 14:13:00 [显示全部帖子]

以下为我的源代码, 目的是,通过 在文本框输入内容,进行快速筛选;

比如 输入【钢筋 t -m3】,这代表,项目名称、项目特征、计量单位、单位工程、部位 中包含 ”钢筋“、“t”字眼,不包含”m3“字眼的行;此目的已经实现,如下代码:


If e.TextBox.Text IsNot Nothing Then
    Dim filter As String = "1=1"
    Dim sp() As String = e.TextBox.Text.split(" ")
    For Each s As String In sp
        If s.StartsWith("-") Then
            Dim n As Integer = s.Length
            If n > 1 Then 
                s = right(s, n - 1)

                
                filter = filter & " and not (项目名称 like '%" & s & "%' or 项目特征 like '%" & s & "%' or 计量单位 like '%" & s & "%' or 单位工程 like '%" & s & "%' or 部位 like '%" & s & "%'   )" 
            End If 
        Else
            filter = filter & " and (项目名称 like '%" & s & "%' or 项目特征 like '%" & s & "%' or 计量单位 like '%" & s & "%' or 单位工程 like '%" & s & "%' or 部位 like '%" & s & "%'   )" 
        End If
    Next

            Tables("清单_Table1").Filter = filter 

    
End If

我现在想改善下次代码,就是  其中 项目名称、项目特征、计量单位、单位工程…… ,这些列我想做成动态的,
比如,通过对话框进行勾选,对某些列,进行筛选,清单如何编写代码?

这个地方感觉很复杂,思路我有,只是 双引号,单引号,如何连接,什么的,老搞不明白

如果,有一个lrs (这个是list,就是我获取的需要查询的列的名称) ,请大神指教如何编写代码,谢谢

 回到顶部