以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  找下级部门  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=40506)

--  作者:nothing
--  发布时间:2013/9/22 11:50:00
--  找下级部门
通过目录树可以实现找出直接下级及所有下级,通过命令如何实现,请各位大大帮忙
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目76.table



[此贴子已经被作者于2013-9-22 11:54:35编辑过]

--  作者:Bin
--  发布时间:2013/9/22 12:09:00
--  
参考这里使用递归完成 http://www.foxtable.com/help/topics/2416.htm
--  作者:nothing
--  发布时间:2013/9/22 12:20:00
--  
原来是参考这里的,用目录树可以完成
现在想用命令来完成,有些地方不能用目录树(下载数据、权限设置等),希望能帮忙一下

--  作者:狐狸爸爸
--  发布时间:2013/9/22 12:25:00
--  

你这个找出下级部门是很简单的,例如找出01的下级部门:

 

For Each r As DataRow In DataTables("部门").Select("编码 Like \'01*\'")
    output.show(r("编码"))
Next


--  作者:nothing
--  发布时间:2013/9/22 12:25:00
--  

还参考了这段,原理是差不多的,我改来改去都不对

Dim drs As New List(of DataRow)
Dim keys As New List(of String)
For Each dr As DataRow In DataTables("表A").DataRows
    keys.Clear
    Dim dr1 As DataRow = dr
    keys.Add(dr("键"))
    Do
        Dim pkey As String = dr1("父键")
        If keys.Contains(pkey)
            drs.Add(dr)
            Exit Do
        Else
            keys.Add(pkey)
            dr1 = DataTables("表A").Find("键 = \'" &  pkey  & "\'")
            If dr1 Is Nothing Then
                Exit Do
            End If
        End If
    Loop
Next

\'列出死循环的行的标题
For Each dr As DataRow In drs
    output.show(dr("标题"))
Next


--  作者:狐狸爸爸
--  发布时间:2013/9/22 12:32:00
--  
4楼不可以吗?
--  作者:nothing
--  发布时间:2013/9/22 12:42:00
--  
4楼的方法碰到部门更改就不可以了,因为本级部门的编码不会变,上级部门变了,那么上级部门和下级部门的规则不一定一样,
比如品质部现在归生产管,后来归总经理管了,跨大部门了,就破坏了编码规则,像身份证一样,户口变了,号码没变,通过号码的规则行不通
我想还是要用到递归,就是脑子还没转过来
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=29845和这个贴子类似,看了内部函数,领悟不了

[此贴子已经被作者于2013-9-22 12:44:26编辑过]

--  作者:程兴刚
--  发布时间:2013/9/22 12:44:00
--  

这个不必要用递归的。


--  作者:nothing
--  发布时间:2013/9/22 12:47:00
--  
因为部门不是只有例子的数据,还有无限下级产生的
我只是用部门做个例子,像人事管理,直接上级签署一些申请报告,查看直接下级或所有下级的工作报告等都会用到,层级限不了

--  作者:lsy
--  发布时间:2013/9/22 13:02:00
--  

可以显示任一级下级。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树显示下级.table

[此贴子已经被作者于2013-9-22 13:11:55编辑过]