首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现多层次的轮廓结构

实现多层次的轮廓结构
EN

Stack Overflow用户
提问于 2017-02-14 16:22:11
回答 1查看 287关注 0票数 1

我需要为Microsoft 2013中的需求管理设置和管理一个多层次的大纲结构。

  • 大纲需要像单词大纲一样工作,其中每个记录只能有一个父记录,但是可以有一个或多个兄弟姐妹(兄弟姐妹顺序确实重要)和0。
  • 需要支持尽可能多的大纲级别,目前的数据超过15个级别,但在可能的情况下正在减少。
  • 需要能够确定一个记录是否有子记录、有兄弟姐妹,以及它的父记录是什么。
  • 当记录被删除时,需要能够删除记录的所有子记录。
  • 需要能够在大纲结构中的记录后面或下面添加新记录。
  • 在大纲结构中完成添加、删除、复制和移动时,需要能够重新编号大纲。

当前的方法是一个表,它包含一个唯一的ID,每个大纲#的每个级别都包含15个数字字段,并使用一种数字字段将其组织成大纲顺序。

遇到与这种情况有关的几个问题:

  1. 这是最好的数据结构方法,还是应该将大纲信息移到单独的表中?
  2. 假设我在一个带有大纲顺序排序的查询中,我是否可以编写一个VBA函数作为计算列来确定一个记录的父级,如果它有兄弟姐妹,以及它是否有子记录。
  3. 在vba中执行sql select查询我所处的表/查询作为计算列来获取记录(父、子、兄弟姐妹)是否可行?
  4. 是否可以使用数据触发器来支持此大纲结构的任何管理。

大纲结构示例:1 1.1 1.1.1 1.1.2 1.1.2.1 1.1.2.2 1.1.3 2 2.1 2.2 2.3 2.3.1 2.3.1.1 2.3.1.1.1

EN

回答 1

Stack Overflow用户

发布于 2017-02-17 17:25:43

这在访问方面不会是微不足道的。为了在级别数中获得最大的灵活性,我不会对级别号使用单独的字段,而是会有一个具有ID、NodeNumber、OutlineNumber、ParentID列的自引用表(NodeNumber将是指示该记录位于给定父级( 1、2、3)下的同级的单个数字,而OutlineNumber将是该记录的完整大纲引用-- 1.2.1、1.2.2、1.2.3)。您可以使用ParentID来标识记录的父记录;使用相同的ParentID查询所有记录以查找兄弟姐妹;在ParentID =当前记录的ID中查询记录以查找子记录。您必须编写一些严肃的VBA代码来控制插入、更新和删除,并且绝对不要让人们手动地将数据添加到表中。不幸的是,Access没有数据触发器。

编辑显然我错了!Access确实具有与名为数据宏的Server“触发器”功能相当的功能,但我从未使用过它。也许这能帮到你?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42231174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档