我现在有一个数据库,里面有产品库,部件库,零件库,现在我想在vb6.0中调用这三个库,把他们中的内容按产品,组件,零件依次生成一个树状目录,但是目前本人对数据结构不太熟悉,希望有过这方面的高手能给在下一些这方面的指导,最好能给出实际的程序例子来,谢谢了!!!
如果分不够,还可以再加100!
谢谢!
如果分不够,还可以再加100!
谢谢!
解决方案 »
- 求助:richtextbox控件编写保存文件时回自动多出一些文字,如何解决
- vb6 runtime error致命错误!在线等!
- EXCEL-VBA- ontime 函数的问题
- 谁来救救我?
- 如何在VB中动态的分割Form区域来显示图片?
- 高分请教:怎样用VB关闭一个端口,如80,8000端口?
- 请问各位大侠怎样通过vb将图片存入access数据库里?
- 请问,DATAGRID不用数据源能不能录入数据?
- ??????????非常痛苦,再搞不出来就被炒鱿鱼
- VB基础问题,一个类怎样调用另一个类??
- 树形控件treeview,知道node.key,如何删除,该节点?还有其他问题
- 如何用VB得到计算机中文件夹的树形结构?
例如这样的结构
产品1
--组件1
--零件1
--零件2
--组件2
--组件3
产品2
--组件1
--零件1
--零件2
--组件2如果是这样的话,我可以给你一些例子。
如果是用数据库里的数据也是一样的,只要连接数据库,打开里面的表就可以了。Private Sub Command1_Click()
Dim nodX As Node
Dim I As Integer
Dim J As Integer
Dim K As Integer
Dim L As IntegerTreeView1.Nodes.Clear
' Corporate Office
Set nodX = TreeView1.Nodes.Add(, , "R", "Corporate Office", 1)' Regional Level
For I = 1 To 20
Set nodX = TreeView1.Nodes.Add("R", tvwChild, "R" & Trim$(Str$(I)), "Region " & Trim$(Str$(I)), 1)
Next
nodX.EnsureVisible ' Make sure all nodes are visible.' District Level
J = 1
For I = 1 To 20
L = J + 4
K = J
For J = K To L
Set nodX = TreeView1.Nodes.Add("R" & Trim$(Str$(I)), tvwChild, "D" & Trim$(Str$(J)), "District " & Trim$(Str$(J)), 1)
Next
Next' Store Level
J = 1
For I = 1 To 100
L = J + 9
K = J
For J = K To L
Set nodX = TreeView1.Nodes.Add("D" & Trim$(Str$(I)), tvwChild, "S" & Trim$(Str$(J)), "Store# " & Trim$(Str$(J)), 1)
Next
Next
End Sub
Add 方法的语法包含下面部分:部分 描述
object 必需的。对象表达式,其值是“应用于”列表中的一个对象
relative 可选的。已存在的 Node 对象的索引号或键值。新节点与已存在的节点间的关系,可在下一个参数 relationship 中找到。
relationship 可选的。指定的 Node 对象的相对位置,如设置值中所述。
key 可选的。唯一的字符串,可用于用 Item 方法检索 Node。
text 必需的。在 Node 中出现的字符串。
image 可选的。在关联的 ImageList 控件中的图像的索引。
selectedimage 可选的。在关联的 ImageList 控件中的图像的索引,在 Node 被选中时显示。
如果还不清楚,我有个现成的例子,可以给你参考一下。
给我email^_^我也要分哟。
如果不需要增加图形 ,只要省约image参数就可以了
有问题尽管问,我刚好做过不少这个方面的东东
'1: 在sqlserver的查询分析其中执行一下建表代码用于测试,表结构你可以参考建立
'2:新建一个工程,添加一个treeview控件
'3:添加Ado引用 工程-〉引用-〉选中Microsoft Activex Data Objects 2.5 Library
'4:在代码去输入以下代码
Option Explicit
Dim cn As New ADODB.ConnectionPrivate Sub FillTree()
'填充树形节点
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim rs3 As New ADODB.Recordset
Dim nodRoot As Node
Dim nodX As NodeSet nodRoot = TreeView1.Nodes.Add(, , "r", "根节点")
nodRoot.Expanded = True
rs1.Open "select p_id,name from 产品描述表", cn
Do While Not rs1.EOF
Set nodX = TreeView1.Nodes.Add("r", tvwChild, "r" & rs1!p_id, rs1!Name)
nodX.Expanded = True
rs2.Open "select b.name,a.d_id from 产品表 as a,部件描述表 as b where a.d_id=b.d_id and a.p_id =" & rs1!p_id, cn
Do While Not rs2.EOF
Set nodX = TreeView1.Nodes.Add("r" & rs1!p_id, tvwChild, "r" & rs1!p_id & rs2!d_id, rs2!Name)
nodX.Expanded = True
rs3.Open "select a.e_id,b.name from 部件表 as a,零件描述表 as b where a.e_id=b.e_id and a.d_id=" & rs2!d_id, cn
Do While Not rs3.EOF
Set nodX = TreeView1.Nodes.Add("r" & rs1!p_id & rs2!d_id, tvwChild, "r" & rs1!p_id & rs2!d_id & rs3!e_id, rs3!Name)
nodX.Expanded = True
rs3.MoveNext
Loop
rs3.Close
rs2.MoveNext
Loop
rs2.Close
rs1.MoveNext
Loop
rs1.Close
Set rs1 = Nothing
Set rs2 = Nothing
Set rs3 = Nothing
End Sub
Private Sub Form_Load()
'连接数据库
cn.Open "Provider=SQLOLEDB;Data Source=servername;User Id=sa;PassWord=****;Initial Catalog=数据库"
Call FillTree
End SubPrivate Sub Form_Unload(Cancel As Integer)
cn.Close
Set cn = Nothing
End Sub
:(你可以在查询分析其中直接运行)
create table 产品描述表(P_ID int identity(1,1),name varchar(50))
insert into 产品描述表(name) select '汽车'
insert into 产品描述表(name) select '火车'
go
create table 部件描述表(D_ID int identity(1,1),Name varchar(50))
insert into 部件描述表(name) select '车轮'
insert into 部件描述表(name) select '汽车壳'
insert into 部件描述表(name) select '火车皮'
insert into 部件描述表(name) select '火车专用椅子'
go
create table 零件描述表(E_ID int identity(1,1),Name varchar(50))
insert into 零件描述表(name) select '1号螺丝'
insert into 零件描述表(name) select '2号螺丝'
insert into 零件描述表(name) select '3号螺丝'
insert into 零件描述表(name) select '铁'
insert into 零件描述表(name) select '牛皮'
gocreate table 产品表(P_ID int ,D_ID int)
insert into 产品表(P_ID,D_ID) select 1,1
insert into 产品表(P_ID,D_ID) select 1,2
insert into 产品表(P_ID,D_ID) select 2,1
insert into 产品表(P_ID,D_ID) select 2,3
insert into 产品表(P_ID,D_ID) select 2,4
gocreate table 部件表(D_ID int,E_ID int)
insert into 部件表(D_ID,E_ID) select 1,2
insert into 部件表(D_ID,E_ID) select 1,1
insert into 部件表(D_ID,E_ID) select 2,2
insert into 部件表(D_ID,E_ID) select 2,4
insert into 部件表(D_ID,E_ID) select 2,5
insert into 部件表(D_ID,E_ID) select 3,3
insert into 部件表(D_ID,E_ID) select 3,4
insert into 部件表(D_ID,E_ID) select 3,5
一个管理VB源码的数据库吐血推荐
可以任意添加删除