以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于集合递归函数的所有部门名称【已解决】 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89829) |
-- 作者:188802386 -- 发布时间:2016/8/30 19:25:00 -- [求助]关于集合递归函数的所有部门名称【已解决】 有如下一个‘部门管理’表,框架采用的递归函数(部门所属,部门名称),我想到递归函数都可以筛选出下级直到最后一级,我在想 能不是在打开表就自动更新‘部门集合’列 [此贴子已经被作者于2016/8/31 12:31:54编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2016/8/31 7:45:00 -- 这个和递归无关: For Each dr As DataRow In DataTables("表A").datarows If dr("部门名称").EndsWith("区") Then dr("部门合集") = DataTables("表A").GetComboListString("部门名称","部门所属=\'" & dr("部门名称") & "\'") Else dr("部门合集") = dr("部门名称") End If Next |
-- 作者:188802386 -- 发布时间:2016/8/31 8:48:00 -- 狐狸爸爸,本部集合还包括部门名称,再说部门框架不只是这个,可能有很多,想营销部的集合就是部门名称那一列了(按现在的表举例) 部门随时可能换,现在有区,下次来个部或组,岂不要修改代码
|
-- 作者:Hyphen -- 发布时间:2016/8/31 9:13:00 -- 看看是不是这样 |
-- 作者:188802386 -- 发布时间:2016/8/31 10:57:00 -- For Each r As Row In Tables("表A").Rows r("第三列") = Functions.Execute("GetChild",r("第二列")).replace("|",",") Next 老师,大概意思是这样,但是第三列还要包括第二列的内容在内,以上代码没有把第二列本身集合进去 |
-- 作者:有点蓝 -- 发布时间:2016/8/31 11:08:00 -- r("第三列") = r("第二列") & “,” & Functions.Execute("GetChild",r("第二列")).replace("|",",") 首先要理解代码,想怎么改都可以
|
-- 作者:188802386 -- 发布时间:2016/8/31 12:32:00 -- 谢谢各位老师,最后改成的 For Each r As Row In Tables("表A").Rows r("第三列") = Functions.Execute("GetChild",r("第二列")).replace("|",",") If r("第三列") > "" Then r("第三列") = r("第二列") & "," & Functions.Execute("GetChild",r("第二列")).replace("|",",") Else r("第三列") = r("第二列") End If Next 完美,中午了,老师记得吃午饭哦
|