[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)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)

学习心得
最新文章
- 仓库管理实战课程(18)-设置日期...(05.19)
- 仓库管理实战课程(17)-库存明细...(05.13)
- 【Access高效办公】条件格式设...(05.12)
- 仓库管理实战课程(16)-联合查询...(05.07)
- 合并列数据到一个文本框的示例;输出...(05.06)
- 仓库管理实战课程(15)-月度库存...(04.30)
- Access选择打印机、横纵向、纸...(04.29)
- 仓库管理实战课程(14)-出库功能...(04.26)
- 通过命令按钮让Access列表框指...(04.24)
- 仓库管理实战课程(13)-入库功能...(04.21)