请教数据匹配的识别方法(vfp)?

yestoyes 2002-03-30 01:41:54
我有如下的两个表,希望能以表BC(班次)的数据判断表SK(刷卡)各条记录的班次。
SK表的打卡可能漏打或重打及其他的不规范操作,所以判断时还要考虑,请问要判断SK
的记录最匹配哪个班次,应如何判定?(是在VFP或SQL中完成)请大虾指点!
bc:
班次 上班1 下班1 上班2 下班2 上班3 下班3
01 08:00 12:00 13:00 17:00
02 08:00 12:00 13:00 17:00 17:30 21:00
03 16:00 20:00 21:00 01:00 01:30 07:00
04 08:00 11:30 12:30 17:00
......

sk:
卡号 日期 时间1 时间2 时间3 时间4 时间5 时间6...... 班次
366355 2002-03-01 07:41 12:10 12:32 17:16
366355 2002-03-02 07:48 12:03 12:14 20:14
366355 2002-03-03 07:45 12:13 12:44 17:56 20:36
366355 2002-03-04 08:23 12:34 21:05
......
...全文
38 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yestoyes 2002-04-11
  • 打赏
  • 举报
回复
继续求助!
st_2000 2002-04-11
  • 打赏
  • 举报
回复
以上同意ZQLLH(找感覺的)觀點﹐本人也是用此方法
流星尔 2002-04-11
  • 打赏
  • 举报
回复
那超出多少小时才算是加班呢? 比如说迟到三个小时,你就算是加班了。
zqllyh 2002-04-01
  • 打赏
  • 举报
回复
班次对卡号要有一个对应表,利用这个对应表可以知道某个卡号大概是在某个时间上(下)班,不就行了?当然,人事制度要相予配合,比如强行规定迟到1个小时以上算旷工等,仔细想想吧,程序不好实现时,不妨用规范卡号刷卡这一招,否则,程序再聪明,总有考虑不到的时候。到时,程序肯定会跑不下去的。
并且,一定要用存储过程去处理,否则,速度肯定不行。
mudong 2002-04-01
  • 打赏
  • 举报
回复
如果规范操作下、你的两个表可以解决问题,不规范操作可以加一个修订表xd.
xd有漏打或重打及其他的不规范操作的描述,专人处理,向日常的情形那样。
(我没有做过类似程序、仅作参考,常规情况xd应先发生,实际上可能做不到。)
yestoyes 2002-04-01
  • 打赏
  • 举报
回复
感谢各位的指点!
to liujianjun_(流星尔) :
从上面的表中我希望是如下的结果:
3月1日:从BC表可知应该是01或04两个班次,但如果是04班次有迟到一次,01就完成正常,所以按最匹配的原则就是01班次了。
3月2日:好象应该是01班次,但下班迟了3小时,应该是有加班了,所以应是02班次,漏打17点的卡。
3月3日:应该是02班次,加班迟到了。
3月4日:从BC表看,只有02班次是最符合的,上班迟到,并漏打17点上下班的卡。
......
当然以上的数据是设计的,不是实例,事实当然有可能某一人是迟到早退,但刚好符合另一班次的作息时间,象3月1日也许事实是04班次的迟到,但我们只能是以最匹配的原则。
shs20 2002-03-30
  • 打赏
  • 举报
回复
请说清楚一点。
skyfeather 2002-03-30
  • 打赏
  • 举报
回复
这个问题我也见过,我想关注一下。
流星尔 2002-03-30
  • 打赏
  • 举报
回复
请给出你要的结果。
tanqth 2002-03-30
  • 打赏
  • 举报
回复
单以时间判断好象不行,因为这人有可能迟到、早退,个人情况自行加班。
还有,象某人上班不刷,下班时刷,那刷卡记录时间就错了,相当于下班时间成了他上班时间。我想,你不能用这种方式。
你应该以班次来判断刷卡人是否迟到、早退或未刷、重刷。

11,849

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧