如何在MS Access中创建仅显示已完成任务非空记录的报表
MS Access 报表筛选配置方案
1. 构建筛选查询(核心数据源)
先创建一个仅保留非空记录+已完成任务的查询,作为报表的数据源:
- 打开Access的「查询设计」,选中你的任务数据表,添加
日期、单元名称、已完成任务三个字段 - 在每个字段的「条件」行输入
Is Not Null,过滤空值记录 - 在
已完成任务字段的条件行追加And Like "*True*",只保留标记为已完成的记录
对应的SQL语句(假设表名为任务清单表):
SELECT 日期, 单元名称, 已完成任务 FROM 任务清单表 WHERE 日期 Is Not Null AND 单元名称 Is Not Null AND 已完成任务 Is Not Null AND 已完成任务 Like "*True*";
2. 基于查询生成目标报表
- 保存上述查询,右键点击查询名选择「报表」,快速生成基础报表
- 进入报表设计视图,确认所有字段控件都绑定到查询的对应字段,此时报表只会显示查询筛选后的非空记录
- 若需隐藏全空列(如某字段无任何有效数据),可在报表的
OnOpen事件中添加VBA代码动态控制:
Private Sub Report_Open(Cancel As Integer) Dim rs As Recordset Set rs = Me.RecordsetClone ' 检查「已完成任务」列是否无有效数据 rs.MoveLast If rs.RecordCount > 0 And IsNull(rs!已完成任务) Then Me!已完成任务.ColumnHidden = True End If rs.Close Set rs = Nothing End Sub
3. 优化报表显示效果
- 保留报表表头(列名),确保仅展示符合条件的记录
- 可对
已完成任务字段的控件设置格式,让任务编号和完成状态更清晰(比如设置文本对齐方式)
内容的提问来源于stack exchange,提问作者userRP
相关产品推荐
相关产品推荐

