设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3328|回复: 5

[其它] 【Access小品】解决个球--问题的高级处理手段

[复制链接]
发表于 2014-12-17 09:37:03 | 显示全部楼层 |阅读模式
本帖最后由 todaynew 于 2014-12-17 16:12 编辑

  解决问题的前提是存在一个问题,这句话似乎听起来没什么意义。你会说:这句话是废话,问题不存在还解决个球呀?你的这个反问,恰恰是给出了解决某类问题的方向。这是哪种类型的问题呢?在回答之前,先看两个例子。

  例子一:某版友的订单表中包含:订单号、客户名称、电话、地址、付款方式等字段,问如何更改某条记录客户的名称时,同时更改其他相同订单号记录的客户名称、电话、地址。(http://www.accessoft.com/bbs/showtopic.asp?id=22926

  例子二:某版友有客户表、联系人表、订单表,问删除联系人或者客户时,如果相关表中存在对应的联系人或客户如何给出提示。(http://www.accessoft.com/bbs/showtopic.asp?id=22880

  诸如此类的问题还有很多,对这些问题进行分析后可以发现,这类问题的共同之处就是无意义的伪问题。对于伪问题的解决方法,就是消灭问题。就像你所知道的:问题不存在了,还解决个球。解决此类问题的关键,在于如何甄别问题本身的真伪,以及如何去消灭一个伪问题,使之不成为问题。我们可以以上两个伪问题的解决来说明这种处理方法。

  在例子一中,产生伪问题的原因是数据表结构设计部合理,当我们将客户名称、电话、地址这三个字段从订单表中剥离出来,组成一个新的客户表后,例子一的问题就已经不存在了,因此也就消灭了这个伪问题。

  在例子二中,实际上是有无必要进行自定义提示的问题,更普遍的说法是有无必要进行优雅而非唐突的处理。我们知道,当在关系视图中建立了表间关系,只要不将这种表间关系设置为联级删除,那么系统就会在删除存在外键记录时,提示不能删除,并中断程序。通常我们将系统提供的这种处理叫做“唐突的处理”,如果我们设置自定义提示或采取一些判断,就可以避开系统“唐突的处理”,而采取一种更优雅的方式。

  问题不在于我们用什么办法来做优雅的处理,而在于什么情况下去做优雅处理。我们知道,客户表、联系人表是一个系统的基础资料,其删除的权限是需要控制在非常小的范围内的。也就说,绝大多数用户是不具有删除客户表和联系人表的权限,而只有系统管理员、资料维护员这类系统角色具备这个权限。在一个很少人使用的权限中,去做优雅处理是没有什么必要的。优雅的处理通常是要面对大多数用户,使他们感觉程序是流程而没有意外的。由此我们不难判断,例子二是一个伪问题,无需做什么处理。

  到此我们基本窥见到了伪问题以及对伪问题的处理方法,我们可以总结一下了。对于问题,首先我们需要的不是就问题解决问题,而是首先判断它是不是伪问题,看看能否消灭伪问题。而消灭伪问题,需要根据情况来做出偷梁换柱(例子一)、置之不理(例子二)等处理。

  

本帖被以下淘专辑推荐:

发表于 2014-12-17 11:59:51 | 显示全部楼层
好久好久没来论坛了,还记得我吗,哈哈
 楼主| 发表于 2014-12-17 13:47:25 | 显示全部楼层
goto2008 发表于 2014-12-17 11:59
好久好久没来论坛了,还记得我吗,哈哈

当然记得。
望代问GG好。

点击这里给我发消息

发表于 2014-12-17 21:23:51 | 显示全部楼层
仿佛无意义,其实有深义!
发表于 2016-8-20 15:34:07 | 显示全部楼层
已经下载学习,谢谢

点击这里给我发消息

发表于 2019-4-9 13:04:25 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 22:24 , Processed in 0.081424 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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