萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> access教程 >> access基礎教程 >> Access教程:如何解決打卡記錄交叉查詢

Access教程:如何解決打卡記錄交叉查詢

Access教程:如何解決打卡記錄交叉查詢

    今天我們一起來看看下面的表格,是一些打卡記錄,需要把記錄排成交叉顯示,具體要求如下:
一個表
---卡號----/-----日期----/  ---時間----
123456     2006-07-17       08:00
123456     2006-07-17       12:01
123456     2006-07-17       13:31
123456     2006-07-18       08:05
123456     2006-07-18       12:00
123456     2006-07-19       12:00

應生成查詢:
---卡號---/ ----日期 --- / --- 時間1 /  時間2 /  時間3
123456  2006-07-17   08:00   12:00   13:31 
123456  2006-07-18   08:05   12:00                    
123456  2006-07-19   12:00

解決方式:

1、
先建查詢1(普通選擇查詢):
   
Select 卡號, 日期, "時間" & DCount("[時間]","datarecord","時間<= #" & Format([時間],"Short Time") & "# and 日期 = #" & [日期] & "# and 卡號='" & [卡號] & "'") AS 時間段, 時間
FROM datarecord
GROUP BY 卡號, 日期, "時間" & DCount("[時間]","datarecord","時間<= #" & Format([時間],"Short Time") & "# and 日期 = #" & [日期] & "# and 卡號='" & [卡號] & "'"), 時間
orDER BY 卡號, 日期, 時間;

2、再建查詢2(交叉查詢):

TRANSFORM First(查詢1.時間) AS 時間之第一條記錄
Select 查詢1.卡號, 查詢1.日期
FROM 查詢1
GROUP BY 查詢1.卡號, 查詢1.日期
PIVOT 查詢1.時間段;
copyright © 萬盛學電腦網 all rights reserved