Office中国论坛/Access中国论坛

标题: 请教树目录的生成 [打印本页]

作者: yhl091122    时间: 2016-8-18 14:15
标题: 请教树目录的生成
我有2张表,会计科目表和编码规则表,要求会计科目表的科目代码列填写时必须符合编码规则表对应表名的编码规则,然后让会计科目表以科目代码生成树目录
作者: tmtony    时间: 2016-8-18 16:06
科目树,可搜索 本论坛 用科目 可搜索到相关的示例
编码规则 则可用 正则表达式(会有些复杂)
或直接用 split 函数 +instr 函数 来判断
作者: wzl8007    时间: 2016-8-19 07:22
我感觉科目编码规则表是不是多余?一张表就可以吧,(附图),表的编号里配合级别就能区分!提示你一个思路吧!见附件!

作者: yhl091122    时间: 2016-8-19 09:50
谢谢
作者: yhl091122    时间: 2016-8-19 10:15
看了老师的回复,产生了一个疑问,按照这种思路,每一个树目录都会使用一个模块吗,能不能在模块中设置成动态的,需要使用的窗口都调用这个模块。
Public Function addTreeView(ObjTr As Object)
    Dim ObjTree     As Object
    Dim objNode     As Object
    Dim rst As Object
    Dim strParentID As String
    Dim strSQL As String
    Set ObjTree = ObjTr
    ObjTree.Nodes.Clear
Set objNode = ObjTree.Nodes.Add(, , "K", "货品分类", 1, 2)
   Set rst = CurrentDb.OpenRecordset("SELECT * FROM category_tabl ORDER BY categoryNumber", , dbReadOnly)
    Do Until rst.EOF
        Set objNode = ObjTree.Nodes.Add("K" & rst!categoryLevel, tvwChild, "K" & rst!categoryNumber, rst!CategoryName, 1, 2)
        rst.MoveNext
    Loop
   ObjTree.Nodes(1).Expanded = True
    rst.Close
    Set rst = Nothing
    Set ObjTree = Nothing
    Set objNode = Nothing
    End Function
这一段代码中的“货品名称”这该怎么修改成动态的啊,例如用窗体名称动态生成。
作者: wzl8007    时间: 2016-8-19 10:39
本帖最后由 wzl8007 于 2016-8-19 10:44 编辑

对的,这个你就可以放在模块里使用,哪个窗体需要树,就在哪个窗体里的load事件里调用它。注意同时要在模块里添加你的 添加、删除等子函数Public Function addTreeView(ObjTr As Object,item_rootText as string)函数增加一个参数即可.........
.......Set objNode = ObjTree.Nodes.Add(, , "K", item_rootText, 1, 2)......






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3