【Access小品】一根烟的教训--删除重复记录示例
时 间:2013-05-25 09:39:25
作 者:煮江品茶 ID:10802 城市:武汉
摘 要:【Access小品】一根烟的教训--删除重复记录示例
正 文:
版友菜鸟同志问了一个关于删除重复记录的问题,问题的原型似乎为一个打卡的考勤记录,或许由于考勤设备有些假冒伪劣,或许有人考勤作弊,总之是在一段时间中会重复存在多次刷卡记录的问题。于是乎菜鸟同志决定采取从严的措施,一律以15分钟之内重复记录的最后时间为准。菜鸟同志便决定删除所有依此为标准的重复的记录,只保留最后时间的一条记录。但是,菜鸟同志对这个查找和删除有些麻头,原因是不大好在浩瀚的数据中找到这些要删除的东西。
这个问题的难点在于找到要删除的记录,为什么说这是个难点呢?因为通常对数据表横向的计算(字段间的)是比较容易的,而纵项的计算就相对复杂一些。这个问题的复杂在于不仅要进行纵向的计算(记录间的),而且是至少两次的纵向计算(请注意这句话)。因此对于初学者来说这个难度就相当的大了。
但凡遇到纵向的计算,法宝大体有两个:其一是域函数或子查询;其二是数据集。有了这个基本的思路,解决问题也就无非是组合使用这两个法宝了。实际上,单独用数据集的方法或者单独用域函数(子查询)的方法也是可以解决这个具体问题的,本例采用两者结合的方法,主要是为简化处理过程,也同时提示这两个方法的一般使用规律。问题的具体解决方法可以查看示例中的相关查询和vb代码,在此不赘述。
这个问题解答完后,版友殷小宝同志提出强烈的质疑。殷小宝同志认为菜鸟同志所提出的要求是15分钟之内的所有记录只保留最后一条,而解答所采取的算法是相邻两条记录相差15分钟则保留最后一条。这明显的与问题的解答要求不相符。面对殷小宝同志质疑带来的尴尬,该如何挽回颜面呢?当然是有办法的。办法就是将殷小宝同志质疑的问题,带入到另外一个层面去讨论。
我们知道标准通常有客观的和主观的两类,一般在管理学领域中的标准大都是主观的,也就是人为确定的,主观标准的合理性是相对的。就版友殷小宝同志的质疑来说,既可以看成是执行判断标准的问题,也还可以看成确立判断标准(或者说是完善判断标准)的问题。15分钟之内的所有记录取最后一条,与相邻两条记录小于一定数字取最后一条,这是两个判断标准,但也是可以相互转化的两个标准。
那么为什么要取“相邻两条记录小于一定数字取最后一条”呢?道理就在于前面提醒同志们注意的那句话,也就是避免过多的纵向计算(这样的计算可以解决但比较麻烦)。到此就剩下这么一个问题了,本示例对应的问题原型可以转换判断标准吗?答案应该是肯定的,因为菜鸟同志会发现两个(或多个)连续的15分钟间隔出现多条记录时,很难说这几十多分钟内多次出现的记录是正常记录。所以更为合理的判断标准还是相邻两条记录之间的判断。而菜鸟同志只是需要基于这样的判断标准,设置相邻两条记录之间合理的时间间隔,这个间隔或许是8分钟,或许是10分钟,依我看15分钟也是可以的。因为15分钟也就一根烟的功夫,某个人不好好上班,跑到外面去吸烟,你说是不是可以算他迟到?让他得到一根烟带来的教训不是很好吗?

Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)
- 统计当月之前(不含当月)的记录数怎...(03.11)