ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4386|回复: 1

[分享] 如何在ACCESS中利用复选框进行多条件筛选?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-7-1 19:00 | 显示全部楼层 |阅读模式
如何在ACCESS中利用复选框进行多条件筛选?

建立表、主子窗子的过程在此不多说了,直接进入正题。

1、根据3个条件创建3个复选框,并设置属性;

2、创建筛选按钮,并在属性的单击事件中添加代码如下:
  1. Private Sub 筛选_Button_Click()
  2.     If tj1 And tj2 And tj3 Then
  3.         表1.Form.RecordSource = "select * from 表1"
  4.     End If
  5.     If tj1 And tj2 And tj3 = False Then
  6.         表1.Form.RecordSource = "select * from 表1 where 达标率<80"
  7.     End If
  8.     If tj1 And tj2 = False And tj3 Then
  9.         表1.Form.RecordSource = "select * from 表1 where 达标率<50 OR 达标率>=80"
  10.     End If
  11.     If tj1 And tj2 = False And tj3 = False Then
  12.         表1.Form.RecordSource = "select * from 表1 where 达标率<50"
  13.     End If
  14.     If tj1 = False And tj2 And tj3 Then
  15.         表1.Form.RecordSource = "select * from 表1 where 达标率>=50 OR 达标率>=80"
  16.     End If
  17.     If tj1 = False And tj2 And tj3 = False Then
  18.         表1.Form.RecordSource = "select * from 表1 where 达标率>=50 and 达标率<80"
  19.     End If
  20.     If tj1 = False And tj2 = False And tj3 Then
  21.         表1.Form.RecordSource = "select * from 表1 where 达标率>=80"
  22.     End If
  23.     If tj1 = False And tj2 = False And tj3 = False Then
  24.         表1.Form.RecordSource = "select * from 表1"
  25.     End If
  26.     表1.Form.Requery
  27. End Sub
复制代码
3、在窗体加载事件中添加代码如下:
  1. Private Sub Form_Load()
  2.     DoCmd.Restore
  3. End Sub
复制代码
4、保存、调试运行,筛选效果如下动画所示:

复选框筛选.gif

复选框筛选.rar

20.89 KB, 下载次数: 61

复选框筛选2003.rar

15.92 KB, 下载次数: 56

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-7-1 19:02 | 显示全部楼层
注意复选框控件的默认值要设置为0,否则初次打开窗体时,由于三个复选框控件的值可能为空值而造成查询不正确。

第一段代码虽然实现了目的,但应该还有更好的方法。有好代码欢迎跟帖

[ 本帖最后由 lrlxxqxa 于 2010-7-1 19:11 编辑 ]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-12 18:48 , Processed in 0.027191 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表