以文本方式查看主题

-  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
--  
这个确实解决了目录树的生成问题。。。但是bom生成的时候就不行了。。。所以这个类似的问题手工编码实现的过程是什么呢
我的思路是识别出 1.2.3.4 的上一层1.2.3,所以问题就简化为输入1.2.3.4输出1.2.3,然而仅仅识别位数是不可行的。。。如果出现1.2.3.11的时候就会识别错误。。。原谅我看了很久的帮助手册还是没找到解决问题的方法。

--  作者:大红袍
--  发布时间: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(","))