Foxtable(狐表)用户栏目专家坐堂 → [求助]关于集合递归函数的所有部门名称【已解决】


  共有2544人关注过本帖树形打印复制链接

主题:[求助]关于集合递归函数的所有部门名称【已解决】

帅哥哟,离线,有人找我吗?
188802386
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4921 威望:0 精华:0 注册:2014/2/25 15:50:00
[求助]关于集合递归函数的所有部门名称【已解决】  发帖心情 Post By:2016/8/30 19:25:00 [只看该作者]

有如下一个‘部门管理’表,框架采用的递归函数(部门所属,部门名称),我想到递归函数都可以筛选出下级直到最后一级,我在想 能不是在打开表就自动更新‘部门集合’列

图片点击可在新窗口打开查看此主题相关图片如下:888.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/8/31 12:31:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47476 积分:251245 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4921 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2016/8/31 8:48:00 [只看该作者]

狐狸爸爸,本部集合还包括部门名称,再说部门框架不只是这个,可能有很多,想营销部的集合就是部门名称那一列了(按现在的表举例)
部门随时可能换,现在有区,下次来个部或组,岂不要修改代码

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/31 9:13:00 [只看该作者]

看看是不是这样
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目23.table



 回到顶部
帅哥哟,离线,有人找我吗?
188802386
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4921 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2016/8/31 10:57:00 [只看该作者]

For Each r As Row In Tables("表A").Rows
    r("第三列") = Functions.Execute("GetChild",r("第二列")).replace("|",",")
Next
老师,大概意思是这样,但是第三列还要包括第二列的内容在内,以上代码没有把第二列本身集合进去


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109347 积分:556379 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/8/31 11:08:00 [只看该作者]

r("第三列") = r("第二列") & “,” & Functions.Execute("GetChild",r("第二列")).replace("|",",")

首先要理解代码,想怎么改都可以

 回到顶部
帅哥哟,离线,有人找我吗?
188802386
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4921 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By: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
完美,中午了,老师记得吃午饭哦

 回到顶部