Foxtable(狐表)用户栏目专家坐堂 → 按动态多参数,筛选符合条件的数据


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

主题:按动态多参数,筛选符合条件的数据

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 10:01:00 [显示全部帖子]

没看懂,请使用文字举例说明一下

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 10:38:00 [显示全部帖子]

意思是分析条件表添加了几行数据,查询条件就添加几个?

1楼实例表格里有3行,还有一个生产岗位的数据,也要添加到查询条件里?即:销售额>=8并且客户数>=8并且合格数>=95,这个意思?

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 11:02:00 [显示全部帖子]

那就重新做一个比较完整的例子发上来吧

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:微步mdl.zip


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 11:58:00 [显示全部帖子]

1=2改为1=1

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 13:45:00 [显示全部帖子]

Dim filter As String = "岗位='" & e.Form.Controls("TextBox1").text & "'"
For Each dr As DataRow In DataTables("xmgl").Select("岗位='" & e.Form.Controls("TextBox1").text & "'")
    filter = filter & " and 工作项='" & dr("工作项") & "' and 完成值 >=" & dr("最小值")
Next
msgbox(filter)

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 15:20:00 [显示全部帖子]

仔细看了一下,这种设计只能使用or查询,因为同一行的工作项不可能既等于销售额又等于客户数

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 15:50:00 [显示全部帖子]

这个表结构没有办法。除非转换为横表,比如:

姓名、岗位、销售额、客户数、订单数
刘备,销售,5,6,5
黄盖,销售,8,8,8

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 20:24:00 [显示全部帖子]

Dim ids As List(Of String) = DataTables("mcheck").GetValues("personid","[mid] = '" & e.Row("mid") & "'")
If ids.count > 0 Then
     Tables("人才库_Table3").Filter = "personid In ('" & string.join("','",ids.toarray) & "') "
End If

如果还是原来的表结构,就算可以在上次筛选的基础上进行一样实现不了想要的功能,原因一样

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 21:36:00 [显示全部帖子]

Tables("人才库_Table3").Filter = "筛选条件1"

二次筛选
Tables("人才库_Table3").Filter = IIF(Tables("人才库_Table3").Filter > "",Tables("人才库_Table3").Filter & " and ","") & " 筛选条件2"

 回到顶部
总数 11 1 2 下一页