设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4177|回复: 11
打印 上一主题 下一主题

[Access本身] 【Access小品】一根烟的教训--删除重复记录示例

[复制链接]
跳转到指定楼层
1#
发表于 2013-5-25 10:09:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 todaynew 于 2013-5-25 13:07 编辑

  版友菜鸟同志问了一个关于删除重复记录的问题,问题的原型似乎为一个打卡的考勤记录,或许由于考勤设备有些假冒伪劣,或许有人考勤作弊,总之是在一段时间中会重复存在多次刷卡记录的问题。于是乎菜鸟同志决定采取从严的措施,一律以15分钟之内重复记录的最后时间为准。菜鸟同志便决定删除所有依此为标准的重复的记录,只保留最后时间的一条记录。但是,菜鸟同志对这个查找和删除有些麻头,原因是不大好在浩瀚的数据中找到这些要删除的东西。

  这个问题的难点在于找到要删除的记录,为什么说这是个难点呢?因为通常对数据表横向的计算(字段间的)是比较容易的,而纵项的计算就相对复杂一些。这个问题的复杂在于不仅要进行纵向的计算(记录间的),而且是至少两次的纵向计算(请注意这句话)。因此对于初学者来说这个难度就相当的大了。

  但凡遇到纵向的计算,法宝大体有两个:其一是域函数或子查询;其二是数据集。有了这个基本的思路,解决问题也就无非是组合使用这两个法宝了。实际上,单独用数据集的方法或者单独用域函数(子查询)的方法也是可以解决这个具体问题的,本例采用两者结合的方法,主要是为简化处理过程,也同时提示这两个方法的一般使用规律。问题的具体解决方法可以查看示例中的相关查询和vb代码,在此不赘述。

  这个问题解答完后,版友殷小宝同志提出强烈的质疑。殷小宝同志认为菜鸟同志所提出的要求是15分钟之内的所有记录只保留最后一条,而解答所采取的算法是相邻两条记录相差15分钟则保留最后一条。这明显的与问题的解答要求不相符。面对殷小宝同志质疑带来的尴尬,该如何挽回颜面呢?当然是有办法的。办法就是将殷小宝同志质疑的问题,带入到另外一个层面去讨论。

  我们知道标准通常有客观的和主观的两类,一般在管理学领域中的标准大都是主观的,也就是人为确定的,主观标准的合理性是相对的。就版友殷小宝同志的质疑来说,既可以看成是执行判断标准的问题,也还可以看成确立判断标准(或者说是完善判断标准)的问题。15分钟之内的所有记录取最后一条,与相邻两条记录小于一定数字取最后一条,这是两个判断标准,但也是可以相互转化的两个标准。

  那么为什么要取“相邻两条记录小于一定数字取最后一条”呢?道理就在于前面提醒同志们注意的那句话,也就是避免过多的纵向计算(这样的计算可以解决但比较麻烦)。到此就剩下这么一个问题了,本示例对应的问题原型可以转换判断标准吗?答案应该是肯定的,因为菜鸟同志会发现两个(或多个)连续的15分钟间隔出现多条记录时,很难说这几十多分钟内多次出现的记录是正常记录。所以更为合理的判断标准还是相邻两条记录之间的判断。而菜鸟同志只是需要基于这样的判断标准,设置相邻两条记录之间合理的时间间隔,这个间隔或许是8分钟,或许是10分钟,依我看15分钟也是可以的。因为15分钟也就一根烟的功夫,某个人不好好上班,跑到外面去吸烟,你说是不是可以算他迟到?让他得到一根烟带来的教训不是很好吗?





本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享1 分享淘帖 订阅订阅
2#
发表于 2013-5-25 11:36:34 | 只看该作者
认真学习版主的作品!

点击这里给我发消息

3#
发表于 2013-5-25 12:22:03 | 只看该作者
谢谢分享
4#
发表于 2013-5-25 12:36:27 | 只看该作者
其实循环嵌套就可以搞定了
5#
发表于 2013-5-29 08:12:25 | 只看该作者
{:soso_e163:}

点击这里给我发消息

6#
发表于 2013-5-29 20:39:19 | 只看该作者
感谢分享。收藏。
7#
发表于 2013-5-29 22:26:51 | 只看该作者
有实际价值,支持
8#
发表于 2014-5-16 11:11:09 | 只看该作者
思路很好,很值得学习
9#
发表于 2014-5-16 11:19:59 | 只看该作者
下载研究
回复

使用道具 举报

10#
发表于 2016-6-5 09:07:40 | 只看该作者
要好好学习学习这个问题,谢谢分享了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 00:15 , Processed in 0.106098 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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