Office中国论坛/Access中国论坛

标题: 【Access小品】眼见为虚--排班管理示例 [打印本页]

作者: todaynew    时间: 2015-1-15 17:12
标题: 【Access小品】眼见为虚--排班管理示例
本帖最后由 todaynew 于 2015-1-15 17:19 编辑

  有个成语叫做眼见为实,这说明在人的所有感觉器官中,人们最为信赖的是视觉。不过视觉也并不是总能正确的感知,所以才有魔术专门来欺骗人的眼睛,使人们感到新奇而不可思议。

  看见的并非真的存在,你可能不大相信这种情况与数据库设计会有关系。如果你没发现这个问题对数据库设计有实际意义,只能说明你还没遇见这种问题,或对遇到的问题还没有向这个方向去思考。你可能知道考勤这个事情,因为老板总是在你迟到早退时,扣你的工资奖金,你会很心痛,所以对这个事情是熟知的。当然,我不关心老板是否该扣你的钱和怎么样扣你的钱,那是你和你的老板之前的事情。

  我关心的是如何记录考核的数据,为什么关心这种类型的数据呢?因为考勤与人数和天数相关,它们会形成一个笛卡尔集,也就是记录的条数为人数乘以天数。当人数很多的时候,这个数据量是非常之大的。今天在论坛看到一个版友问排班怎么设计,排班和考勤类似,也是人数与天数的倍乘的关系。这样类型的数据还很多。

  对此类数据我们该如何记录呢?回答这个问题之前,我们要引入异常管理的观点。什么叫做异常管理呢?所谓异常当然是正常的对称。诸如考勤、排班这类数据,它们有一些共同特点。比如考勤,通常像你一样喜欢迟到早退的捣蛋鬼并不多,所以你是异类,你的行为是异常,对你的迟到早退进行重点管理就叫做异常管理。排班也一样,通常情况下多数人都在上班,只有少数人在轮休,少数的轮休相对于正常的上班便是异常,重点管理休假便是异常管理。

  当你明白了这个观点,那么你就不难想到在数据库中,我们正真需要记录的不是全部数据,也不是正常数据,而仅仅是异常数据。这样做的益处在于,存储和处理的数据量极大的减少,由此带来的效益和效率是不言而喻的。可是问题接踵而来,如果仅仅是记录了异常的数据,也就是考勤中的迟到早退的数据,或者排班中的轮休数据,那怎么显示出全部人员在某个日期的考勤情况或排班情况呢?

  你不必对这个问题产生恐惧,在程序设计中这个问题是可以容易解决的。而且解决的方法有很多,那么在本例中给初学者提供一种处理的方法,供同志们参考。在这个例子中你所看到的完整数据,其实并不是全部保存在数据库中的,这就是程序的魔术,相信你会喜欢。


示例:[attach]55439[/attach]


视图:
[attach]55440[/attach]



作者: tmtony    时间: 2015-1-15 23:16
好分享! 说的有理。我以前也做过考勤。的确也是 从异常处理开始。这样节省很多时间
我找找。也贴个图上来
作者: tmtony    时间: 2015-1-15 23:18
[attach]55441[/attach]
[attach]55442[/attach]


作者: yodong    时间: 2015-1-16 09:27
站长的这个考勤系统真是够猛的.看图就可想而知功能不是一般的强大.
作者: 风中漫步    时间: 2015-1-16 13:52
看着就复杂,我还是喜欢简单点的.智商实在不够使
作者: tmtony    时间: 2015-1-16 14:49
风中漫步 发表于 2015-1-16 13:52
看着就复杂,我还是喜欢简单点的.智商实在不够使

的确可以再简单些。例如那个排序功能。
因为是很早以前写的,懒得去改了

作者: zpy2    时间: 2015-1-19 05:19
赞一个!!

作者: asklove    时间: 2015-1-19 11:21
收藏,慢慢研究
作者: lwwvb    时间: 2015-2-12 12:02
值得研究的例子。
作者: xzj5324269    时间: 2015-5-1 15:40
这个写得还是挺不错的
作者: nncchh    时间: 2015-7-20 13:03
学习学习
作者: nncchh    时间: 2015-7-20 13:03
学习学习
作者: a157838566    时间: 2015-7-28 14:41
fadsfadsf
作者: fjh    时间: 2016-5-23 14:55
值得学习!
作者: 李力军2    时间: 2016-7-30 16:47
值得研究,写这不错
作者: 飘过    时间: 2016-7-31 08:37
不错
作者: owen2016    时间: 2016-8-20 10:59
已经下载学习
作者: 灰太郎    时间: 2018-1-1 18:38
qqqqqqqqqqqqqqqqqqqqqqqqq
作者: jun_hai    时间: 2023-3-15 10:44
谢谢!!!!!!




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