以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教甜大师  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54150)

--  作者:hbhb
--  发布时间:2014/7/22 20:45:00
--  请教甜大师
您好!
狐表实例的会计科目中,二级节点的长度目前比上一节点都是增加两位,但同一节点有可能是1-5位,如何能自动判断生成目录树?

--  作者:有点甜
--  发布时间:2014/7/22 20:48:00
--  
 必须是固定位数,可以是两位,也可以是三位,但是如果不固定,就没有规律可言,判断就不可能唯一。
--  作者:hbhb
--  发布时间:2014/7/22 21:04:00
--  
那肯定不对的!比如应收账款有的明细100多个,大型企业上万个,科目代码位数是不固定的,导入数据时是不知道的,再说企业明细编码也是随意的,有的10010001 有的1001100001,所以应该考虑通用代码。
--  作者:hbhb
--  发布时间:2014/7/22 21:07:00
--  
能否首先求代码长度排列,然后变量,递归函数调用?
--  作者:有点甜
--  发布时间:2014/7/22 21:08:00
--  

客户代码肯定是要固定位数的,你不是数学很好么?

 

比如 一堆数,必须知道按照几位区分,才能分出等级,不然,任意位数分级都是对的啊。

 

1010

1011

1012

1013

101123

101124


--  作者:nothing
--  发布时间:2014/7/22 21:09:00
--  
财务软件要求编码是固定的

不固定的,可以用上下级关系来处理,递归的方式

--  作者:有点甜
--  发布时间:2014/7/22 21:10:00
--  
以下是引用hbhb在2014-7-22 21:07:00的发言:
能否首先求代码长度排列,然后变量,递归函数调用?

 

可以,你把下面代码替换成变量即可

 

nd.Name.Length + 2

 

dr("代码").Length = 4

 

CInt(dr("代码").Substring(0,1))


--  作者:有点甜
--  发布时间:2014/7/22 21:12:00
--  
以下是引用nothing在2014-7-22 21:09:00的发言:
财务软件要求编码是固定的

不固定的,可以用上下级关系来处理,递归的方式

 

上下级的关系,你可以用这种方法

 

http://www.foxtable.com/help/topics/2416.htm

 


--  作者:hbhb
--  发布时间:2014/7/22 21:14:00
--  
那就是说要设定控件让客户选定参数,在设置好内部函数分别调用。能否首先分析科目代码长度的数据排列,递归函数判断参数调用?
--  作者:有点甜
--  发布时间:2014/7/22 21:17:00
--  
以下是引用hbhb在2014-7-22 21:14:00的发言:
那就是说要设定控件让客户选定参数,在设置好内部函数分别调用。能否首先分析科目代码长度的数据排列,递归函数判断参数调用?

 

嗯嗯,是的,用变量直接替换代码即可。变量给用户设置。