上网查了很多资料 ,都是把数据库中所有表列到treeview一个父结点上.我想把表名按分类建立"子结点"到不同的父结点上.例如:一个数据库有:"日纪录"表若干;"月纪录"表若干;"年纪录"表若干,怎么能把他们建立在不同的三个结点上.不知道我讲没讲清. 有别的方法也行!
   谢谢各位!!!

解决方案 »

  1.   

    lz既然知道如何将这些表建立到一个节点下面,其实想建立到多个节点下面也可以用同样的方法处理,我觉得现在的问题是如何区分你说的3种不同的表,决定那些表应该建立在一个节点下,我想可以在给表命名的时候以不同的起始字符区分,比如说日记录的表叫tbl_RJLXXXX(XXXX表示具体的含义,RJL表明是日记录的表)这样就可以将所有以tbl_RJL的表都建立在同一个节点下,其他的同理。具体做法就参口在一个节点下建立的方法就好了。
      

  2.   

    谢谢2楼和3楼的高手!
    我用的是这个语句:Set Rs1 = Gconn.OpenSchema(adSchemaTables)
    Set etape1 = trv.Nodes.Add(Node, tvwChild, , Rs1.Fields(2).Value, 2, 2)  结果就把表都建立在了node的结点上了.
    3楼的你的方法就是我要的 能不能给段代码.谢谢!! 
    我的表有"¤2001年1月第1周  ¤2001年1月第2周,★2001年1月1日,★2001年1月1日, ☆2001年1月,,☆2001年2月"  
    谢谢啦!!!
      

  3.   

    lz,我手里也没有现成的例子,上午只是看到你的问题之后临时的一个想法。
    不过可以提供一些再详细一点的思路
    其实你可以通过查询Access的系统表MSysObjects来获得你的数据库中的所有的表名,具体的查询你语句可以参考下面
    SELECT   MSysObjects.Name   FROM   MsysObjects   WHERE   (Left$([Name],1)<>'~')   AND   (Left$([Name],4)   <>   'Msys')   AND   (MSysObjects.Type)=1   ORDER   BY   MSysObjects.Name
    这样你就可以获得一个包含所有表明的记录集,剩下的工作就要看怎样通过表明区分哪些是日记录表,哪些是周记录表,哪些是年记录表,然后循环添加节点到你需要的父节点上了。剩下的lz自己考虑一下实现的方法吧
      

  4.   

    谢谢! 我还是先回去"百度"一下"MSysObjects"方法  
    以前没见过 孤陋寡闻啊 如果jeffzsy高手能帮忙就更好啦 
    再次感谢!
      

  5.   

    嘴上边的三层加入的代码是:TREE_MENU.Nodes.add , , "M1", "日记录"
    TREE_MENU.Nodes.add , , "M2", "月记录"
    TREE_MENU.Nodes.add , , "M3", "年记录"年月日下的字节点加入节点的代码是:TREE_MENU.Nodes.add "M1", tvwChild, "M11", "日1"
    TREE_MENU.Nodes.add "M1", tvwChild, "M12", "日2"
    TREE_MENU.Nodes.add "M1", tvwChild, "M13", "日3"TREE_MENU.Nodes.add "M2", tvwChild, "M21", "月1"
    TREE_MENU.Nodes.add "M2", tvwChild, "M22", "月2"
    TREE_MENU.Nodes.add "M2", tvwChild, "M23", "月3"TREE_MENU.Nodes.add "M3", tvwChild, "M31", "年1"
    TREE_MENU.Nodes.add "M3", tvwChild, "M32", "年2"
    TREE_MENU.Nodes.add "M3", tvwChild, "M33", "年3"
      

  6.   

    还是不行啊!关键是要连接到数据库(Access)上
    继续求!!!
    我用的是这个语句(主要部分):
    Set  Rs1  =  Gconn.OpenSchema(adSchemaTables)  
       Node.Expanded = True
       Do While Not Rs1.EOF
            Set etape1 = trv.Nodes.Add(Node, tvwChild, , Rs1.Fields(2).Value, 2, 2)
            Rs1.MoveNext
        Loop        
    结果就把表都建立在了node的结点上了. 
      第一条语句换成Set  Rs1  =  Gconn.OpenSchema(adSchemaTables,array(empty,empty,empty))  不知道行不行(请教)!
       我的表有  "¤2001年1月第1周    ¤2001年1月第2周,★2001年1月1日,★2001年1月1日,  ☆2001年1月,,☆2001年2月  "      
    继续求.
    谢谢各位高手啦!!