|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
交叉查询上下班
网友望天 发表于:2013-07-18的题目
这个交叉查询怎么做呢
http://www.accessoft.com/bbs/showtopic.asp?id=19203
思路:
1:把考勤机格式表日期字段的数据类型修改为日期/时间。
2:新建查询。
Select 考勤机格式.姓名, 考勤机格式.日期, Year([日期]) AS 年, Month([日期]) AS 月, Day([日期]) AS 日, 考勤机格式.签到时间, 考勤机格式.签退时间
FROM 考勤机格式
Where (((考勤机格式.日期) Between IIf(IsNull([FORMS]![查询数据]![起始]),#1/1/2010#,[FORMS]![查询数据]![起始]) And IIf(IsNull([FORMS]![查询数据]![结束]),#12/31/2020#,[FORMS]![查询数据]![结束])));
3:新建查询交叉表上班
PARAMETERS [FORMS]![查询数据]![起始] DateTime, [FORMS]![查询数据]![结束] DateTime;
TRANSFORM Last(查询.签到时间) AS 签到时间之最后一条记录
Select 查询.姓名, 查询.年, 查询.月, "上班" AS 考勤
FROM 查询
GROUP BY 查询.姓名, 查询.年, 查询.月, "上班"
PIVOT 查询.日;
4:新建查询交叉表下班
PARAMETERS [FORMS]![查询数据]![起始] DateTime, [FORMS]![查询数据]![结束] DateTime;
TRANSFORM Last(查询.签退时间) AS 签退时间之最后一条记录
Select 查询.姓名, 查询.年, 查询.月, "下班" AS 考勤
FROM 查询
GROUP BY 查询.姓名, 查询.年, 查询.月, "下班"
orDER BY 查询.日
PIVOT 查询.日;
5:新建联合查询
Select 交叉表上班.*
FROM 交叉表上班;
UNION ALL Select 交叉表下班.*
FROM 交叉表下班;
6:新建查询上下班a
Select 联合查询.*
FROM 联合查询;
7:新建查询上下班
Select *
FROM 查询上下班a
orDER BY 查询上下班a.姓名, 查询上下班a.年, 查询上下班a.月, 查询上下班a.考勤;
8:新建查询数据窗体
|
|