您的位置:程序门 -> vb -> 基础类



vb中用treeview以access(含多个表)的表名按分类建立子结点(自己建立父结点)问题!急急


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vb中用treeview以access(含多个表)的表名按分类建立子结点(自己建立父结点)问题!急急[已结贴,结贴人:phoenix719]
发表于:2007-03-14 23:46:15 楼主
上网查了很多资料   ,都是把数据库中所有表列到treeview一个父结点上.我想把表名按分类建立 "子结点 "到不同的父结点上.例如:一个数据库有: "日纪录 "表若干; "月纪录 "表若干; "年纪录 "表若干,怎么能把他们建立在不同的三个结点上.不知道我讲没讲清.   有别的方法也行!
      谢谢各位!!!
发表于:2007-03-15 09:00:291楼 得分:0
就是创建三个子,然后分别建到三个字的下面。
发表于:2007-03-15 09:06:002楼 得分:100
lz既然知道如何将这些表建立到一个节点下面,其实想建立到多个节点下面也可以用同样的方法处理,我觉得现在的问题是如何区分你说的3种不同的表,决定那些表应该建立在一个节点下,我想可以在给表命名的时候以不同的起始字符区分,比如说日记录的表叫tbl_rjlxxxx(xxxx表示具体的含义,rjl表明是日记录的表)这样就可以将所有以tbl_rjl的表都建立在同一个节点下,其他的同理。具体做法就参口在一个节点下建立的方法就好了。
发表于:2007-03-15 13:30:173楼 得分:0
谢谢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月 "    
谢谢啦!!!
发表于:2007-03-15 14:44:394楼 得分:0
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自己考虑一下实现的方法吧
发表于:2007-03-15 17:37:175楼 得分:0
谢谢!   我还是先回去 "百度 "一下 "msysobjects "方法    
以前没见过   孤陋寡闻啊   如果jeffzsy高手能帮忙就更好啦  
再次感谢!
发表于:2007-03-15 17:44:346楼 得分:0
嘴上边的三层加入的代码是:

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 "
发表于:2007-03-15 20:33:407楼 得分:0
我试试先   多谢!
不知道能不能连接到数据库
我是新手!!呵呵   见笑了!
发表于:2007-03-15 20:50:288楼 得分:0
还是不行啊!关键是要连接到数据库(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月     "            
继续求.
谢谢各位高手啦!!
发表于:2007-03-16 08:51:329楼 得分:0
昨天写了个小例子,楼主把邮箱留一下,我发给你。
发表于:2007-03-16 08:54:5710楼 得分:0
或者你看到了给我发个邮件也行,我给你回复
我的邮箱jeffzsy@tom.com
发表于:2007-03-16 10:23:4611楼 得分:0
看到你的留言了.
我的邮箱是   syzhangnan@126.com   谢谢!


快速检索

最新资讯
热门点击