我正在开发一个项目,基本上是一个在Excel工作表之上的黑客攻击,不幸的是我们没有时间重新考虑,但核心代码根本不够快。 / p>
我们有由子组件和零件制成的组件。因此,组件是超级结构,而部件是最小的结构。
我们有一个BoM,材料清单,我们通过各种方法(手动,导入,解析等)放入Excel,这被放入树结构,而不是堆,树。
我的问题是,这些部件不需要按任何特定的顺序排列,它们确实需要被搜索,但我认为将它作为一棵树没有任何好处。
我认为更好的结构将是林内链接列表中的链接列表......依此类推。
有人能提出更好的方法吗?
编辑更多细节: 装配体具有几个属性,例如质量,cg,惯性等等,它们是应指向其他几个对象零件的对象,这些零件具有与装配体相同的属性等等。程序集还可以包含其他程序集。
答案 0 :(得分:1)
我个人会尝试哈希表。我不是VBA程序员,但从一些Google搜索来看,有很多方法可以使用Collection或Dictionary来共同破解某些东西。为了它的价值,我从here获得了我的信息。
-Brett
答案 1 :(得分:1)
可以设置一系列依赖列表,例如在List1中选择项目“widget”,List2填充所有与项目“widget”相关的项目,依此类推。例如,在其中一个主Excel组中搜索“条件列表”和可能的“动态名称”。通常这些与一系列DropDowns一起使用。问题是,根据各自的列表大小和分支数量,您可以很快得到一些非常难以管理的东西。另一种方法是相对简单的数据库。具有描述和编号的单个部件列表,每个部件具有一个或多个类别,类别可以指向“父”部分。然后,您可以过滤类别。 不确定总体目标是什么,仅仅是“搜索”。即使使用大型非排序列表,Excel也可以非常快速地执行此操作。
答案 2 :(得分:1)
可以在Excel中使用ADO。表可以是整张表,范围或命名范围。您拥有Jet引擎的强大功能,因此您可以运行引擎支持的任何查询,包括使用JOINS和子查询。