还请各位朋友们帮帮忙,我是新手,
黄色的字是问题所在,  换了好几种方法了,就是做不出来,大多数提示关键字不是唯一的,还请大家帮忙,自己做好的还请贴出来参考一下或者发到>,十分感谢。 Dim key, Text, BH As String
 Dim myNod As Node
 Set myNod = TreeView1.Nodes.Add(, tvwChild, "sort", "WinOA协同")
  rs.Open "select * from xianshi", cn
  If rs.RecordCount > 0 Then
       rs.MoveFirst
          Do While rs.EOF = False    
            key = Trim(rs.Fields("id_1"))
            Text = rs.Fields("id_1")
           Set myNod = TreeView1.Nodes.Add("sort", tvwChild, key, Text)
            rs.MoveNext
          Loop
  End If

解决方案 »

  1.   

    key = Trim(rs.Fields("id_1")) Set myNod = TreeView1.Nodes.Add("sort", tvwChild, key, Text) 
    请确认 数据库中返回Key的值不是1 2 45 这样的数值型数据.
    请再确认 数据库中返回Key的值是不重复的,也就是说数据库里面这个字段的值是不重复的.如果以上两上条件满足,就不会出现问题了,
      

  2.   

    Dim key, Text, BH As String 
    ------------------------------
    同意楼上意见
    另外说一句,楼主这句定义是故意写成这样的还是失误?
    似乎应该是Dim key As String , Text As String , BH As String 
      

  3.   

    用的是access数据库,返回的数据是文本型的,  应该没什么问题, 
    但 key 这说集合中的关键字不唯一,, 就是这解决不了,
      

  4.   

    请将数据库里面的 id_1 设置为主键,并让其为唯一.
    如果数据库里面错误,那你在写的时间也会错误.如果你实在不行,就不要Key了.
      

  5.   

    肯定是你的表中id不唯一。
    我可以教你个办法解决(你的字段rs.Fields("id_1")中数据不包含“,”吧),
    dim i as longIf rs.RecordCount > 0 Then 
          rs.MoveFirst 
              Do While rs.EOF = False    
                key = "K," &   Trim(rs.Fields("id_1")) & "," & i
                i=i+1

                Text = rs.Fields("id_1") 
              Set myNod = TreeView1.Nodes.Add("sort", tvwChild, key, Text) 
                rs.MoveNext 
              Loop 
      End If
      

  6.   

    treeview的KEY关键字不能用纯数字字符串,你可以在KEY变量前加上一个固定的字符串如“KEY”应该就能解决你的问题了
      

  7.   

    多谢大家的帮助,我已经把它解决了, 我把它贴一下
    Dim Key, Text, BH As String
        Dim Nod As Node
        Key = "WinOA协同"
        Text = "WinOA协同"
        Set Node1 = TreeView1.Nodes.Add(, , Key, Text, 2)
        rs.Open "select * from xianshi ", cn
        If rs.RecordCount > 0 Then
           rs.MoveFirst
            Do While rs.EOF = False
                Key = Trim(rs.Fields("id_1"))
                Text = rs.Fields("id_1")
                Set Node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, Key, Text, 1, 3)
                rs.MoveNext
            Loop
        Else
        End If   
           其实也没改什么就是把数据库换个版本,快下班了祝大家有个愉快的周末, 
               周一过来结贴,多谢大家了,实在是太感谢了