把数据库中表的内容加到treeview中时的一个细节问题,需改进,麻烦各位指教

freehorse_1981 2003-02-18 09:29:51
我的表中只有两个字段,zu和biao 我的想法是这样的,在biao所在的zu相同的情况下,把所有的biao节点都加到同一个zu的节点下。我目前只实现了把记录逐条加进去,这样zu 相同的节点就不在同一个zu下。我的代码如下:
Set nodX = TreeView1.Nodes.Add(, , "r", "报表组 ", 1, 2)
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "db1.mdb;Persist Security Info=False"
con.Open
mysql = "select * from report_table "
Rs.Open mysql, con, adOpenDynamic, adLockOptimistic
Do While Not Rs.EOF
Set nodX = TreeView1.Nodes.Add("r", tvwChild, "Z" & i, Rs!zu, 1, 2)
Set nodeX = TreeView1.Nodes.Add("Z" & i, tvwChild, "B" & i, Rs!biao, 1, 2)
loop
请问如何加以改进以实现我的效果,麻烦各位指教!
...全文
29 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
freehorse_1981 2003-02-19
  • 打赏
  • 举报
回复
问题解决了,结帐
chenxin790311 2003-02-18
  • 打赏
  • 举报
回复
应该是没有什么问题吧。思路是对的,有问题也只是一些细节问题了吧
Cooly 2003-02-18
  • 打赏
  • 举报
回复
上面的错了

Set nodX = TreeView1.Nodes.Add(, , "r", "报表组 ", 1, 2)
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "db1.mdb;Persist Security Info=False"
con.Open
mysql = "select * from report_table group by zu order by zu"
Rs.Open mysql, con, adOpenDynamic, adLockOptimistic

Dim TempString as String
Dim TempKey as Long

Do While Not Rs.EOF
if TempString = Rs!zu then
Set nodeX = TreeView1.Nodes.Add("Z" & TempKey, tvwChild, "B" & i, Rs!biao, 1, 2)
else
Set nodX = TreeView1.Nodes.Add("r", tvwChild, "Z" & i, Rs!zu, 1, 2)
Set nodeX = TreeView1.Nodes.Add("Z" & i, tvwChild, "B" & i, Rs!biao, 1, 2)
TempString=Rs!zu
TempKey = i
end if
Rs.MoveNext
loop
z2h 2003-02-18
  • 打赏
  • 举报
回复
一共2个FIELDS 那么TREE里就2个NODE?
如果是的话,先建立2个NODE然后按你的要求组装RECORDSET,再装NODE
freehorse_1981 2003-02-18
  • 打赏
  • 举报
回复
只好自己帮自己up了。各位给我帮帮忙吧,如果不够的话,我可以再加分!
freehorse_1981 2003-02-18
  • 打赏
  • 举报
回复
我按照这个方法试了一下,怎么提示说“未找到元素”,麻烦给我讲解一下吧,我挺着急的
freehorse_1981 2003-02-18
  • 打赏
  • 举报
回复
仁兄啊,能不能给我讲一下什么意思啊
Cooly 2003-02-18
  • 打赏
  • 举报
回复
Dim TempString as String
Dim TempKey as Long

Do While Not Rs.EOF
if TempString = Rs!zu then
Set nodeX = TreeView1.Nodes.Add("Z" & TempKey, tvwChild, "B" & i, Rs!biao, 1, 2)
else
Set nodX = TreeView1.Nodes.Add("r", tvwChild, "Z" & i, Rs!zu, 1, 2)
Set nodeX = TreeView1.Nodes.Add("Z" & i, tvwChild, "B" & i, Rs!biao, 1, 2)
end if
TempString=Rs!zu
TempKey = i
Rs.MoveNext
loop
Cooly 2003-02-18
  • 打赏
  • 举报
回复
mysql = "select * from report_table group by zu"
freehorse_1981 2003-02-18
  • 打赏
  • 举报
回复
我试一下吧

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧