RS1是作者的记录集,RS2是作品的记录集:下面用一个笨方法做之,如果实现多层显示,最好用递归。dim nd as node
for i = 1 t rs1.recordcount
set nd = treeview1.nodes.add "A" & rs1("ID").value, rs1("Name")
for j=1 to rs2.recordcount
if rs2("AuthorID")= rs1("ID") then
treeview1.nodes.add ,rs2("workname")
end if
next j
next i
for i = 1 t rs1.recordcount
set nd = treeview1.nodes.add "A" & rs1("ID").value, rs1("Name")
for j=1 to rs2.recordcount
if rs2("AuthorID")= rs1("ID") then
treeview1.nodes.add ,rs2("workname")
end if
next j
next i
解决方案 »
- 挑战:想要多少分都可以。二级代理如何在VB中实现!
- 高手请进
- winsock.state一共有几种状态啊?
- 菜鸟求助
- 我搞了1个学籍管理的小软件。希望用ADO 进行连接访问,请高手赐教(举例说明!QQ:278576568
- sql的高手请进来,help!!
- 菜鸟问题 , 怎样把msflexgrid加载到工程里去?
- 有关用类生成器生成的属性?
- 请位怎么才能使mdi窗体的一打开子窗体主窗体的菜单就补禁用,关闭子窗体主窗体的菜单又可用呢
- who can tell me where i can download vb6.0? thanks
- 高分求助!-个关于错误处理的问题(高分哦)
- 关于循环的问题...
dim nd as node
for i = 1 t rs1.recordcount
set nd = treeview1.nodes.add ,,"A" & rs1("ID").value, rs1("Name")
for j=1 to rs2.recordcount
if rs2("AuthorID")= rs1("ID") then
treeview1.nodes.add nd,tvwchild,,rs2("workname")
end if
next j
next i
Dim rsPublishers As Recordset
Dim rsTitles As Recordset
Set rsPublishers = mDbBiblio. _
OpenRecordset("Publishers", dbOpenDynaset)
Dim intIndex
Do Until rsPublishers.EOF
Set mNode = tvwDB.Nodes.Add(1, tvwChild)
mNode.Text = rsPublishers!Name
mNode.Tag = "Publisher" '标识表。
mNode.Key = rsPublishers!PubID & " ID"
mNode.Image = "closed"
intIndex = mNode.Index
'对这条记录,使用查询创建 Title 表的记录集,
'查询条件是所有包含相同 PubID 的记录。对结果记录集中
'的每一条记录,在 TreeView 控件中加入一个 Node 对象,
'并用记录的 Title、 ISBN 和 Author 字段为新
'Node 对象的属性赋值。
Set rsTitles = mDbBiblio.OpenRecordset _
("select * from Titles Where PubID = " & _
rsPublishers!PubID)
Do Until rsTitles.EOF
Set mNode = tvwDB.Nodes. _
Add(intIndex, tvwChild)
mNode.Text = rsTitles!TITLE '文本。
mNode.Key = rsTitles!ISBN '唯一的 ID。
mNode.Tag = "Authors" '表名。
mNode.Image = "smlBook" '图象。
'移动到 rsTitles 中的下一个记录。
rsTitles.MoveNext
Loop
'移动到下一个 Publishers 记录。
rsPublishers.MoveNext
Loop
End Sub