Office学院 加入收藏
Office学院 Access Word Excel Powerpoint Wps Access Outlook Tags  
您现在的位置: Office学院 - Access - 分类技术的实现到底要考虑些什么?

分类技术的实现到底要考虑些什么?

添加记录: 分类技术的实现到底要 类别: Access 发布日期: 2005.11.21


发布日期:2004-9-23

主题作者:User_hj(微软最有价值专家)

摘    要:分类技术的实现到底要考虑些什么的讨论

正    文:

一、问题的提出:

   很多地方都需要用到分类技术,比如说商品分类、客户分类。本人认为,分类的关键在于数据库结构的设计上。不知道各位是否同意。那么数据库结构的设计上到底要考虑些什么呢?

二、主题的总结:

具体的做法可以是这样的。

    1.重新排序:

    第一步.我们可以采用字段“ORDERID”来存放一个数值。加入新类别时,可以通过DMAX来将此字段置为最大。在用treeview显示时,就可以通过对此字段的排序显示。
    第二步.当我们需要重新排序时,只需要通过更换各个类别的“ORDERID”值,就可以实现次序任意重排了。
    如果我们需要将某级类别按照名称或者编号重排,也可以先按照名称或编号排序,然后按次更新“ORDERID”,即可实现按业务规则排序的目的。

    2.重新归类:

    重新归类的办法是更改该类别的父类别字段(ParentID)内容,以指向新的父类别。但是应当注意的是,如果我们的类别ID是与父类别有关的话,我们就需要同时更改该类别的ID。一般来讲修改ID是不太可取的。所以类别的ID应该采用“自动编号”,而另立“路径”字段(Path)来记录它的各级上层ID。
    这样,问题就可以从修改ID,变为修改Path。

    3.如何能够统计任意某个类别下面的数据:

    将统计表与类别表进行Join,是的每条明细记录都有字段Path.用Like语句将Path中含有所要类别的ID的记录筛选出来进行汇总即可。

    4.所有报表都可按分类次序排序:

     可以在类别表中再增加一个字段(TotalOrderID),在每次重新排序和归类后都可对此字段进行全表调整。这个程序需要嵌套计算。
    这样,当统计报表时,只需通过Join语句让每个汇总记录都有TotalOrderID,对此字段排序,就可以实现所要的排序了。

     至于提出的既可以属于类别A,又可以属于类别B。我认为这是用户在分类表述时的逻辑错误。比如“罗技音响”。用户既想分在“罗技”下面,又想分在“音响”下面。这实际上是两种分类原则(既想按“厂商”,又想按“性质”来分)。而每一种分类方法只能尊从一个分类原则(否则统计时就会出现重复记帐的问题)。因此,问题就转化成我们能否提供两种(甚至多种)分类方法。问题的解决有两种办法:

     办法一:仍然只提供一种分类方法。通过附加字段来存储用户所说的第二套分类原则。而该字段不实现treeview式显示。和一般属性一样进行汇总。

     办法二:在类别表中增加字段“SetNumb”。该字段可以用来区分多套分类方式。但在我们增加新类别时,总是增加在SetNumb=1的那套分类方式下。SetNumb为其他方式的分类方式,我们将通过在这些方式下的重新归类完成。

     欢迎大家继续讨论,发表自己的观点!

三、主题的讨论:

    请前往论坛这个帖子:cgi-bin/dispbbs.asp?boardid=90&id=2152

顶一下
上一篇:软件文档及开发方法
下一篇:ACCESS编程培训例程源码及总结
Tags: 设计 报表

相关信息
  • 软件文档及开发方法
  • 新闻组搜索方法
  • 注意时间格式在sql server中更新带来的麻烦
  • 在ACCESS2000的查询中使用Replace函数
  • 数据库项目(ADP)学习心得(2)
  • 张志(竹笛)再次荣膺微软最有价值专家(MVP)称号
  • 数据库项目(ADP)学习心得(1)
  • 用ADP的感觉真爽
  • [推荐]聊天感语
  • test
  • 《随时随地记英语》培训源码例程
  • 专注----由聊天所想到的
  • 获取代码编写帮助的方法
  • 一个自定义函数来分离字符串的方法
  • 第一届《街道之星》评选揭晓
  • ACCESS编程培训例程源码及总结
  • 数据库项目(ADP)学习心得(3)
  • 隐藏ACCESS数据库主窗口的方法
  • 第二届《街道之星》评选申请活动开始
  • 如何调用自定义系统关于窗体
  • 两种方法解决求和错误显示
  • 2004年9月微软最有价值专家峰会组图
  • 第二期免费在线培训《个人图书管理系统》
  • 惊喜推出《ACCESS软件网离线查询系统》
  • 微软最有价值专家2004颁奖典礼图文报道
  • 一个mdb无法通过ODBC连接SQL_SEVER2000服务器原因
  • 利用 ActiveX 控件成为反馈信息高手
  • 选择查询在后端为mdb与SQL SEVER的一个小差别
  • 第二届《街道之星》评选揭晓
  • 在子窗体数据表中应用DCOUNT函数














  • 生日密码
    血型分析
    生肖分析



    制作单位 Office学院 © 版权所有


    联系我们 关于我们 友情链接 站点地图 免责声明


    Office学院,致力于打造专业的OFFICE应用交流平台。