访问报告子组汇总
Access Report Subgroup summing
在 MS Access 2010 中,假设查询包含以下结果:
Date Activity Hours
1.9. Reading 1
1.9. Writing 2
2.9. Reading 1
3.9. Talking 1
4.9. Reading 3
1.10. Talking 2
1.10. Writing 1
2.10. Reading 2
3.10. Talking 2
4.10. Reading 1
报告应显示按 activity 分组的每个月花费的总小时数,类似于
Month Activity Hours
September Reading 5
Writing 2
Talking 1
October Reading 3
Writing 1
Talking 4
使用向导我设法得到了一份看起来像
的报告
Month Activity Hours
September Reading 1
Reading 1
Reading 3
Writing 2
Talking 1
October Reading 2
Reading 1
Writing 1
Talking 2
Talking 2
这几乎是我想要的,但是.. ?
我试过 =sum(Hours),但是所有 Hours 字段都只包含所有小时的总和,我仍然得到几行相同的 activity。
其实这个报告比较复杂。在报告之前的表格中,用户可以输入一个日期范围(例如 9 月 1 日 - 10 月 30 日)。报告应在整个时间范围内求和,而不是按月细分,即:
Date range Activity Hours
9/1 - 10/30 Reading 8
Writing 3
Talking 5
创建一个带有 SQL 的查询,如下所示:
SELECT MonthName(Month([Date])), Activity, SUM(Hours)
FROM yourTable
WHERE [Date] >= xxx AND [Date] <= yyy
GROUP BY MonthName(Month([Date])), Activity
关键元素是 GROUP BY 子句,它将每个月的小时数 + Activity。
相加
然后根据该查询生成报告。
顺便说一句,调用列 "Date" 不是一个好主意,它是 Access 中的保留字。
在 MS Access 2010 中,假设查询包含以下结果:
Date Activity Hours
1.9. Reading 1
1.9. Writing 2
2.9. Reading 1
3.9. Talking 1
4.9. Reading 3
1.10. Talking 2
1.10. Writing 1
2.10. Reading 2
3.10. Talking 2
4.10. Reading 1
报告应显示按 activity 分组的每个月花费的总小时数,类似于
Month Activity Hours
September Reading 5
Writing 2
Talking 1
October Reading 3
Writing 1
Talking 4
使用向导我设法得到了一份看起来像
的报告Month Activity Hours
September Reading 1
Reading 1
Reading 3
Writing 2
Talking 1
October Reading 2
Reading 1
Writing 1
Talking 2
Talking 2
这几乎是我想要的,但是.. ?
我试过 =sum(Hours),但是所有 Hours 字段都只包含所有小时的总和,我仍然得到几行相同的 activity。
其实这个报告比较复杂。在报告之前的表格中,用户可以输入一个日期范围(例如 9 月 1 日 - 10 月 30 日)。报告应在整个时间范围内求和,而不是按月细分,即:
Date range Activity Hours
9/1 - 10/30 Reading 8
Writing 3
Talking 5
创建一个带有 SQL 的查询,如下所示:
SELECT MonthName(Month([Date])), Activity, SUM(Hours)
FROM yourTable
WHERE [Date] >= xxx AND [Date] <= yyy
GROUP BY MonthName(Month([Date])), Activity
关键元素是 GROUP BY 子句,它将每个月的小时数 + Activity。
相加然后根据该查询生成报告。
顺便说一句,调用列 "Date" 不是一个好主意,它是 Access 中的保留字。