Office中国论坛/Access中国论坛

标题: 已解决 (求助)关于射频考勤机重复刷卡记录的问题 [打印本页]

作者: zhaohuaw    时间: 2008-6-30 17:44
标题: 已解决 (求助)关于射频考勤机重复刷卡记录的问题
在下载射频考勤机数据后,发现同一张卡刷了多次。造成多次记录,在后面判断的时候出现混乱。希望得到知道如何删除多余记录,并保留第一条考勤记录的朋友的帮助。谢谢!

[ 本帖最后由 zhaohuaw 于 2008-7-8 14:51 编辑 ]
作者: tmtony    时间: 2008-6-30 18:58
我的做法是设置一个参数,如打卡重复间隔时间为2分钟
则判断前后时间的时间差 (使用datediff)判断是否大于2分钟
作者: beenet    时间: 2008-6-30 23:57
保留第一条及最后一条:
DELETE Tabkqjl.ID, Tabkqjl.*
FROM Tabkqjl
WHERE (((Tabkqjl.ID) Not In (SELECT Min(Tabkqjl.ID) AS ID之最小值
FROM Tabkqjl
GROUP BY Tabkqjl.KQNO;) And (Tabkqjl.ID) Not In (SELECT Max(Tabkqjl.ID) AS ID之最大值
FROM Tabkqjl
GROUP BY Tabkqjl.KQNO;)));
作者: tmtony    时间: 2008-7-1 01:11
不错的方法, 同时也要考虑 有些考勤规则需要按一定的规则取
如 上班先早后迟 下班先早后迟
上班取最早时间  下班取最早时间
具体情况具体分析
作者: zhaohuaw    时间: 2008-7-1 15:26
[:50] ,谢谢两位的解答,非常感谢!
作者: zhaohuaw    时间: 2008-7-1 15:43
把beenet的查询导入,发现一个瑕疵。就是一个人一天打卡四次。早上上班,早上下班,下午上班,下午下班。运行查询后只剩下下午下班的数据了。其他的三条记录全部没有了。不知道如何处理。希望得到解答。谢谢!!不知道tmtony的方式如何写,谢谢你们的帮助!
作者: zhaohuaw    时间: 2008-7-2 15:51
问题还在等待帮助中!
作者: zhaohuaw    时间: 2008-7-3 11:51
我把今天的考勤数据导入到表中了,KQNO是考勤卡号,KQSJ是考勤时间。谢谢大家的帮助!
作者: zhaohuaw    时间: 2008-7-7 16:45
[:27] [:27]
作者: beenet    时间: 2008-7-7 21:30
原语句未加限制,修改了

DELETE Tabkqjl.ID, Tabkqjl.*
FROM Tabkqjl
WHERE (((Tabkqjl.ID) Not In (SELECT Min(Tabkqjl.ID) AS ID之最大值
FROM Tabkqjl
GROUP BY [Tabkqjl]![KQNO] & Format([Tabkqjl]![KQsj],"yyyymmdd");) And (Tabkqjl.ID) Not In (SELECT Max(Tabkqjl.ID) AS ID之最大值
FROM Tabkqjl
GROUP BY [Tabkqjl]![KQNO] & Format([Tabkqjl]![KQsj],"yyyymmdd");)));
作者: zhaohuaw    时间: 2008-7-8 14:48
谢谢beenet的帮助!!非常感谢![:36]
作者: 李力军2    时间: 2013-4-28 09:02
beenet 发表于 2008-7-7 21:30
原语句未加限制,修改了

DELETE Tabkqjl.ID, Tabkqjl.*

熊猫大侠厉害




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3