不知道搞的那么复杂有何用意,可以简单的建立一个查询,就可以统计每个人某年某月的考勤统计:
SELECT DISTINCT 考勤表.部门名称, 考勤表.员工名称, Format([日期],"yyyy") AS 年份, Format([日期],"mm") AS 月份, Sum(考勤表.休息) AS 休息之总计, Sum(考勤表.请假) AS 请假之总计, Sum(考勤表.旷工) AS 旷工之总计
FROM 考勤表
GROUP BY 考勤表.部门名称, 考勤表.员工名称, Format([日期],"yyyy"), Format([日期],"mm")
然后把这个查询作为窗体的数据源,并按条件筛选即可