我是想把数据库表中的资料显示在treeview中!!''''tr_groupuser 
 Dim rs1 As New ADODB.Recordset
 Me.TreeView1.LineStyle = tvwRootLines
 Set rs1 = Runs("select * from tb_apzz") 
 '''''这上面取数据是没有错误的 Dim tvNodes As Node
 If rs1.RecordCount <> 0 Then
   rs1.MoveFirst
   
  Do While rs1.EOF = False
  Set tvNodes = TreeView1.Nodes.Add(, , rs1.Fields("code").Value, rs1.Fields("name").Value, 3)  '是到这句话就有问题??    rs1.MoveNext
  Loop
End If

解决方案 »

  1.   

      Do While rs1.EOF = False 改为do while not rs1.eof
      

  2.   

    Set tvNodes = TreeView1.Nodes.Add(, , rs1.Fields("code").Value, rs1.Fields("name").Value, 3)  '是到这句话就有问题?? TreeView1.Nodes.Add(, , rs1.Fields("code").Value, rs1.Fields("name").Value, 3)
      

  3.   

    If (not rs1.bof) and (not rs1.eof)  Then ' 记录集打开方式不同, recordcount有时并不能准确获得
      rs1.MoveFirst
     
      Do While not rs1.eof
    '  rs1.Fields("code").Value 如果是数值型数据就能不能作为关键字 所以需要转换成字符串
      Set tvNodes = TreeView1.Nodes.Add(, , "" & rs1.Fields("code").Value, rs1.Fields("name").Value, 3)  '是到这句话就有问题??    rs1.MoveNext
      Loop
    End If 
      

  4.   

    报什么错?要注意,treeview节点的key必须是字符串,而且不能是数字打头的字符串;另外,你还要确保key值唯一
      

  5.   

    6楼说的对,字段Code的值会影响
    楼主应该把报什么错说出来
    大家才好判断这个
      

  6.   

    试试:Set tvNodes = TreeView1.Nodes.Add(, , "C" & rs1!code, rs1!name, 3)