设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 6085|回复: 19

[Access本身] 【Access小品】眼见为虚--排班管理示例

[复制链接]
发表于 2015-1-15 17:12:04 | 显示全部楼层 |阅读模式
本帖最后由 todaynew 于 2015-1-15 17:19 编辑

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

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

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

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

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

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


示例:


视图:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1经验 +12 收起 理由
tmtony + 12

查看全部评分

本帖被以下淘专辑推荐:

点击这里给我发消息

发表于 2015-1-15 23:16:36 | 显示全部楼层
好分享! 说的有理。我以前也做过考勤。的确也是 从异常处理开始。这样节省很多时间
我找找。也贴个图上来

点击这里给我发消息

发表于 2015-1-15 23:18:31 | 显示全部楼层



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2015-1-16 09:27:49 | 显示全部楼层
站长的这个考勤系统真是够猛的.看图就可想而知功能不是一般的强大.
发表于 2015-1-16 13:52:11 | 显示全部楼层
看着就复杂,我还是喜欢简单点的.智商实在不够使

点击这里给我发消息

发表于 2015-1-16 14:49:05 | 显示全部楼层
风中漫步 发表于 2015-1-16 13:52
看着就复杂,我还是喜欢简单点的.智商实在不够使

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

点评

:)  发表于 2015-1-16 16:56

点击这里给我发消息

发表于 2015-1-19 05:19:26 来自手机 | 显示全部楼层
赞一个!!
回复

使用道具 举报

发表于 2015-1-19 11:21:30 | 显示全部楼层
收藏,慢慢研究
发表于 2015-2-12 12:02:31 | 显示全部楼层
值得研究的例子。
发表于 2015-5-1 15:40:52 | 显示全部楼层
这个写得还是挺不错的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-18 10:12 , Processed in 0.103177 second(s), 43 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表