Office中国论坛/Access中国论坛

标题: 关于不同条件筛选的问题,求教 [打印本页]

作者: jinzhanxi    时间: 2012-7-4 09:54
标题: 关于不同条件筛选的问题,求教
给予基本信息的表格,建立了不同部门的筛选,利用筛选制作了窗体。

目前我的做法是一个单位一个筛选一个窗体,用按钮控件打开窗体

但由于单位较多,需要建30个左右的筛选和窗体,有没有办法用一个窗体直接完成,单位用下来菜单的方式选择,点击即可变成对于部门的筛选?

[attach]49562[/attach]
作者: Henry D. Sy    时间: 2012-7-4 11:03
  1. Private Sub Combo4_AfterUpdate()
  2.     Dim strWhere As String
  3.     If Not IsNull(Me.Combo4) Then
  4.         strWhere = "部门 like '*" & Me.Combo4 & "*'"
  5.         Me.表1_子窗体.Form.Filter = strWhere
  6.         Me.表1_子窗体.Form.FilterOn = True
  7.     End If
  8. End Sub
复制代码
[attach]49564[/attach]
作者: windymeng    时间: 2012-7-4 11:21
强人啊  加班学习
作者: jinzhanxi    时间: 2012-7-4 11:23
Henry D. Sy 发表于 2012-7-4 11:03

学习了,就是这样,十分感谢~~~~~~~~
作者: jinzhanxi    时间: 2012-7-4 11:45
本帖最后由 jinzhanxi 于 2012-7-4 11:46 编辑
Henry D. Sy 发表于 2012-7-4 11:03


再多问一下,如果要设置两个筛选项怎么办?

比如例子中增加筛选性别的选项,能否筛选出行政部几个人,男的几个女的几个,财务部女的几个。

这样子能实现吗?

以此类推,能再加上第三个条件,筛选学历吗?

最多几个条件?
作者: Henry D. Sy    时间: 2012-7-4 11:49
可以无数个条件
作者: jinzhanxi    时间: 2012-7-4 11:55
本帖最后由 jinzhanxi 于 2012-7-4 11:55 编辑
Henry D. Sy 发表于 2012-7-4 11:49
可以无数个条件


怎么进行,我刚试着在例子里复制粘贴了一次,设置条件也换了,但是筛选不出来,不知道是不是我设的不对。

这样只能一个一个的筛选,无法达到同时筛选

[attach]49565[/attach]
作者: Henry D. Sy    时间: 2012-7-4 12:22
  1. Function gString()
  2.     Dim ctl As Control
  3.     For Each ctl In Me.Controls
  4.         If TypeOf ctl Is ComboBox Then
  5.             If Not IsNull(ctl) Then
  6.                 gString = gString & ctl.Name & "='" & ctl & "' And "
  7.             End If
  8.         End If
  9.     Next
  10.     If Len(gString) <> 0 Then
  11.         gString = Left(gString, Len(gString) - 5)
  12.         Me.表1_子窗体.Form.Filter = gString
  13.         Me.表1_子窗体.Form.FilterOn = True
  14.     End If
  15. End Function
复制代码
[attach]49566[/attach]
作者: jinzhanxi    时间: 2012-7-4 12:26
Henry D. Sy 发表于 2012-7-4 12:22

就是这个,学习了~~~~
谢谢!
作者: Henry D. Sy    时间: 2012-7-4 12:29
jinzhanxi 发表于 2012-7-4 12:26
就是这个,学习了~~~~
谢谢!

[attach]49567[/attach]
作者: jinzhanxi    时间: 2012-7-4 13:33
Henry D. Sy 发表于 2012-7-4 12:29

增加的这个 复原,很关键,谢谢~~~
作者: 若离ヘ不弃°    时间: 2012-7-12 09:10
Henry D. Sy 发表于 2012-7-4 11:03

版主大人,我最近也在做多重筛选,参考了你的事例,发现会错误,我调试后说gString = Left(gString, Len(gString) - 5) 这句有问题,我想说这句具体是怎么用的啊= =
作者: 晨微凉    时间: 2016-3-30 11:52
学习学习




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3