vb treeview问题
我有这样一个数据库上级单位编号单位编号单位名称00**总校000001**中心小学0001000111**中心小学一年一班想用vbtreeview控件把数据库用树形结构表...
我有这样一个数据库
上级单位编号 单位编号 单位名称
00 **总校
00 0001 **中心小学
0001 000111 **中心小学一年一班
想用vb treeview控件把数据库用树形结构表示出来。
我的代码是
Function outtree()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim str1 As String
str1 = "select * from dwgl "
rs.Open str1, conn, 1, 1
Do While Not rs.EOF
If Trim(rs.Fields("上级单位编号").Value) = "" Then '添加父节点
Set nodx = TreeView1.Nodes.Add(, , rs.Fields("单位编号").Value, rs.Fields("单位名称").Value, 1)
ElseIf Trim(rs.Fields("上级单位编号").Value) <> "" Then
'添加子节点
Set nodx = TreeView1.Nodes.Add(rs.Fields("上级单位编号").Value, tvwChild, rs.Fields("单位编号").Value, rs.Fields("单位名称").Value, 1)
End If
rs.MoveNext
Loop
rs.close
Set rs = Nothing
End Function
执行完之后,出现这个错误 :实时错误 '35601',未发现元素。
请大家指点一下。
我改成这样的,还是不行。 展开
上级单位编号 单位编号 单位名称
00 **总校
00 0001 **中心小学
0001 000111 **中心小学一年一班
想用vb treeview控件把数据库用树形结构表示出来。
我的代码是
Function outtree()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim str1 As String
str1 = "select * from dwgl "
rs.Open str1, conn, 1, 1
Do While Not rs.EOF
If Trim(rs.Fields("上级单位编号").Value) = "" Then '添加父节点
Set nodx = TreeView1.Nodes.Add(, , rs.Fields("单位编号").Value, rs.Fields("单位名称").Value, 1)
ElseIf Trim(rs.Fields("上级单位编号").Value) <> "" Then
'添加子节点
Set nodx = TreeView1.Nodes.Add(rs.Fields("上级单位编号").Value, tvwChild, rs.Fields("单位编号").Value, rs.Fields("单位名称").Value, 1)
End If
rs.MoveNext
Loop
rs.close
Set rs = Nothing
End Function
执行完之后,出现这个错误 :实时错误 '35601',未发现元素。
请大家指点一下。
我改成这样的,还是不行。 展开
1个回答
展开全部
TreeView的Add方法中的参数Key不能够使用纯数字,应该是英文字母或字母与数字的组合,所以要么你在数据库中把所有编号字段改为类似n00、n0001的形式,要么就在程序中把Add语句改一下:
Set nodx = TreeView1.Nodes.Add(, , rs.Fields("单位编号").Value, rs.Fields("单位名称").Value, 1)
改为
Set nodx = TreeView1.Nodes.Add(, , "n" & rs("单位编号"), rs("单位名称"), 1)
Set nodx = TreeView1.Nodes.Add(rs.Fields("上级单位编号").Value, tvwChild, rs.Fields("单位编号").Value, rs.Fields("单位名称").Value, 1)
改为
Set nodx = TreeView1.Nodes.Add("n" & rs("上级单位编号"), tvwChild, "n" & rs("单位编号"), rs("单位名称"), 1)
Set nodx = TreeView1.Nodes.Add(, , rs.Fields("单位编号").Value, rs.Fields("单位名称").Value, 1)
改为
Set nodx = TreeView1.Nodes.Add(, , "n" & rs("单位编号"), rs("单位名称"), 1)
Set nodx = TreeView1.Nodes.Add(rs.Fields("上级单位编号").Value, tvwChild, rs.Fields("单位编号").Value, rs.Fields("单位名称").Value, 1)
改为
Set nodx = TreeView1.Nodes.Add("n" & rs("上级单位编号"), tvwChild, "n" & rs("单位编号"), rs("单位名称"), 1)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询