Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

交叉查询上下班

时 间:2013-07-18 14:16:18
作 者:蒋元根   ID:193  城市:上海
摘 要:交叉查询上下班
正 文:

交叉查询上下班
网友望天 发表于: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:新建查询数据窗体

点击下载此附件



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助