以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教甜大师 (http://foxtable.com/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的发言:
那就是说要设定控件让客户选定参数,在设置好内部函数分别调用。能否首先分析科目代码长度的数据排列,递归函数判断参数调用?
嗯嗯,是的,用变量直接替换代码即可。变量给用户设置。 |