Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

請教時間計算問題,查詢1的語句有啥不對嗎?

铁  发表于:2015-04-11 15:29:32  
复制

計算出來的打卡次數錯亂.SQL語句哪裡出問題呢?查詢1

 

Top
铁 发表于:2015-04-12 17:52:28

錯在哪裡呢?

打卡时间 <   #" & [打卡时间] & "# 

SELECT [2014年11月份考勤数据].姓名, format(出勤时间,"yyyy/mm/dd") AS 出勤日期, format(出勤时间,"hh:mm:ss") AS 打卡时间
FROM 2014年11月份考勤数据;SELECT 數據整理.姓名, 數據整理.出勤日期, 數據整理.打卡时间, "第" & DCount("*","數據整理"," 姓名='" & [姓名] & "'   and  出勤日期=#" & [出勤日期] & "#   and  打卡时间 <   #" & [打卡时间] & "#  ") & "次打卡" AS 打卡次数
FROM 數據整理
ORDER BY 數據整理.姓名, 數據整理.出勤日期, 數據整理.打卡时间;



西出阳关无故人 发表于:2015-04-13 09:03:48

数据整理:

SELECT [2014年11月份考勤数据].姓名, CDate(Format([出勤时间],"yyyy/mm/dd")) AS 出勤日期, CDate(Format([出勤时间],"hh:nn:ss")) AS 打卡时间
FROM 2014年11月份考勤数据

查询1:

SELECT 數據整理.姓名, 數據整理.出勤日期, 數據整理.打卡时间, "第" & DCount("*","數據整理"," 姓名='" & [姓名] & "'   and  出勤日期=#" & [出勤日期] & "#   and  打卡时间 <=   #" & [打卡时间] & "#  ") & "次打卡" AS 打卡次数
FROM 數據整理
ORDER BY 數據整理.姓名, 數據整理.出勤日期, 數據整理.打卡时间

 



西出阳关无故人 发表于:2015-04-13 09:08:01

关于"数据整理":

format会把日期时间类型数据转换为文本,所以要用cdate函数转换为日期时间数据类型.

关于"查询1":

... and  打卡时间 <   #" & [打卡时间] & "#  ") & "次打卡" AS 打卡次数 ...  改为 ... and  打卡时间 <=   #" & [打卡时间] & "#  ") & "次打卡" AS 打卡次数 ...

也没有更好的方法我不知道!



铁 发表于:2015-04-13 11:46:48

請教大大...

CTIME() 跟 CDATE() 在DCOUNT() 中能用嗎?

想把"查詢1"跟"數據整理"這2張查詢表放在一起...不知怎麼寫呢?



铁 发表于:2015-04-13 20:27:47

請問黃色部分錯在哪裡,???

 

SELECT 姓名, 出勤日期,打卡时间, "第" & DCount("*","數據整理","[姓名]='" & [姓名] & "'   and  CDATE(出勤日期)=#" & [出勤日期] & "#  and   timevalue(打卡时间) <=   #" & 打卡时间 & "#   ") & "次打卡" AS 打卡次数

FROM (SELECT [2014年11月份考勤数据].姓名,format(出勤时间,"yyyy-mm-dd") AS 出勤日期,format(出勤时间,"hh-mm-ss") AS 打卡时间 FROM 2014年11月份考勤数据) as 數據整理

ORDER BY 姓名, 出勤日期, 打卡时间



西出阳关无故人 发表于:2015-04-14 09:17:04
 SELECT [2014年11月份考勤数据].姓名, [2014年11月份考勤数据].出勤时间, "第" & DCount("*","2014年11月份考勤数据","[姓名]='" & [姓名] & "' and  datevalue(出勤时间)=#" & DateValue([出勤时间]) & "#  and   timevalue(出勤时间) <=   #" & TimeValue([出勤时间]) & "#   ") & "次打卡" AS 打卡次数
FROM 2014年11月份考勤数据
ORDER BY [2014年11月份考勤数据].姓名, [2014年11月份考勤数据].出勤时间;

铁 发表于:2015-04-14 12:35:58

搞定\,正解如下

 

SELECT 姓名, 出勤日期, 打卡时间, "第" & DCount("*","數據整理","姓名='" & [姓名] & "'   and  CDATE(出勤日期)=#" & [出勤日期] & "#  and TIMEVALUE(打卡时间) <=   #" & [打卡时间] & "#   ") & "次打卡" AS 打卡次数
FROM (SELECT 姓名, format(出勤时间,"yyyy/mm/dd") AS 出勤日期, format(出勤时间,"hh:mm:ss") AS 打卡时间 FROM 2014年11月份考勤数据)  AS 數據整理
ORDER BY 姓名, 出勤日期, 打卡时间;



总记录:7篇  页次:1/1 9 1 :