[access查询]如何将人员每天签到的时间以横向显示为交叉表
时 间:2007-11-27 13:46:21
作 者:victorduane ID:70 城市:闵行
摘 要:如何将人员每天签到的时间以横向显示为交叉表
正 文:
如何将人员每天签到的时间以横向显示为交叉表
示例下载:点击这里下载
USERID NAME STREET 日期 星期 时间
3 胡和良 早7.30-晚4.30 2007-10-22 星期一 10:05:12
3 胡和良 早7.30-晚4.30 2007-10-22 星期一 10:05:29
3 胡和良 早7.30-晚4.30 2007-10-22 星期一 10:10:47
3 胡和良 早7.30-晚4.30 2007-10-22 星期一 12:28:50
3 胡和良 早7.30-晚4.30 2007-10-22 星期一 14:41:34
3 胡和良 早7.30-晚4.30 2007-10-22 星期一 15:22:47
43 陈琳琳 早7.30-晚4.30 2007-10-27 星期六 19:05:15
43 陈琳琳 早7.30-晚4.30 2007-10-30 星期二 07:15:32
43 陈琳琳 早7.30-晚4.30 2007-10-30 星期二 11:34:15
43 陈琳琳 早7.30-晚4.30 2007-10-30 星期二 12:25:22
43 陈琳琳 早7.30-晚4.30 2007-10-30 星期二 17:47:36
43 陈琳琳 早7.30-晚4.30 2007-10-30 星期二 17:51:27
43 陈琳琳 早7.30-晚4.30 2007-10-31 星期三 07:16:44
图1
这样的一个表,我们要显示为下面这样的表呢
USERID NAME 日期 星期 签到1 签到2 签到3 签到4
3 胡和良 2007-10-22 星期一 10:05:12 10:05:29 10:10:47 12:28:50
3 胡和良 2007-10-27 星期六 07:17:57 10:02:53 11:34:24 12:03:15
3 胡和良 2007-10-30 星期二 07:15:32 11:34:15 12:25:22 17:47:36
3 胡和良 2007-10-31 星期三 07:16:44
43 陈琳琳 2007-10-22 星期一 10:05:12 10:05:29 10:10:47 12:28:50
43 陈琳琳 2007-10-27 星期六 07:17:57 10:02:53 11:34:24 12:03:15
43 陈琳琳 2007-10-30 星期二 07:15:32 11:34:15 12:25:22 17:47:36
43 陈琳琳 2007-10-31 星期三 07:16:44
我是用如下方法解决的
建三个查询
第一个查询的语句,先从两个表中提取数据,先自己的需要得到图1的数据显示方式:
Select CHECKINOUT.USERID, USERINFO.NAME, USERINFO.STREET, WeekdayName(Weekday([checktime])) AS 星期,
Format([checktime],"yyyy/mm/dd") AS 日期, Format([checktime],"hh:nn:ss") AS 时间
FROM CHECKINOUT INNER JOIN USERINFO ON CHECKINOUT.USERID = USERINFO.USERID;
第二个查询,得到每天的次数的签到次数,用于列标题:
Select qryCheckInOut1.USERID, qryCheckInOut1.NAME, qryCheckInOut1.STREET, qryCheckInOut1.星期,
qryCheckInOut1.日期, qryCheckInOut1.时间, "签到" & DCount("日期","qryCheckInOut1","日期='" & [日期] & "'and [name]='" & [name] & "' and 时间 <= '" & [时间] & "'") AS 天次
FROM qryCheckInOut1;
第三个查询,就可以得到我们最终要的数据显示形式了:
TRANSFORM Last(qryCheckInOut2.时间) AS 签到时间
Select qryCheckInOut2.USERID, qryCheckInOut2.NAME, qryCheckInOut2.日期, qryCheckInOut2.星期
FROM qryCheckInOut2
GROUP BY qryCheckInOut2.USERID, qryCheckInOut2.NAME, qryCheckInOut2.日期, qryCheckInOut2.星期
PIVOT qryCheckInOut2.天次;
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)