以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何利用类似1.1 1.1.1 之类的编号来生成目录树求思路 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76980) |
|
-- 作者:mrak2 -- 发布时间:2015/11/9 13:16:00 -- 如何利用类似1.1 1.1.1 之类的编号来生成目录树求思路 我在做的项目打算利用1.1 1.1.1 这种形式的编号来保存产品数据,和BOM。原理的话跟子键父键差不多。。。但是怎样检索出子键不会呃,就是利用1.1区检索出所有下一级的。这个问题应该用哪个方面的知识解决? |
|
-- 作者:逛逛 -- 发布时间:2015/11/9 13:46:00 -- http://www.foxtable.com/help/index.html?n=0353.htm |
|
-- 作者:大红袍 -- 发布时间:2015/11/9 14:10:00 -- 参考
http://www.foxtable.com/help/topics/2623.htm
|
|
-- 作者:mrak2 -- 发布时间:2015/11/10 16:10:00 -- 这个确实解决了目录树的生成问题。。。但是bom生成的时候就不行了。。。所以这个类似的问题手工编码实现的过程是什么呢 我的思路是识别出 1.2.3.4 的上一层1.2.3,所以问题就简化为输入1.2.3.4输出1.2.3,然而仅仅识别位数是不可行的。。。如果出现1.2.3.11的时候就会识别错误。。。原谅我看了很久的帮助手册还是没找到解决问题的方法。
|
|
-- 作者:mrak2 -- 发布时间:2015/11/10 16:11:00 --
|
|
-- 作者:大红袍 -- 发布时间:2015/11/10 16:18:00 -- 比如本级是1.2.3
1、所有的下级,就这样筛选 如 编号 like \'%1.2.3.%\'
2、上一级,就是 1.2 |
|
-- 作者:mrak2 -- 发布时间:2015/11/10 17:13:00 -- 如果只检索下一级就不行了啊这个指令能检索出 1.2.3 也能 检索出1.2.3.1 只检索出一级的应该怎么解决呢。。。 |
|
-- 作者:大红袍 -- 发布时间:2015/11/10 17:21:00 -- 查询呗,循环满足条件的,得到主键,如 Dim idx As String = "\'\'," Dim num As String = "1.2.3" For Each dr As DataRow In DataTables("表A").Select("第一列 like \'" & num & ".%\'") If dr("第一列").split(".").length = num.split(".").length + 1 Then idx &= "\'" & dr("第一列") & "\'," End If Next msgbox(idx.trim(","))
|