Public Sub tree_change()
 Dim key, text, ym, bh As String
 Dim Nod As Node
 Fmain.TreeView1.ImageList = Fmain.ImageList1
 key = "数据库"
 text = "数据库"
 Set node1 = Fmain.TreeView1.Nodes.Add(, , key, text, 1)
 Dim treers As ADODB.Recordset
 Dim treeNodeRs As ADODB.Recordset
 Dim class1 As New dataclass
 Set treers = class1.getdata("select mid(编号,1,6) as 年月 from data1")
 If treers.RecordCount > 0 Then
     treers.MoveFirst
     Do While treers.EOF = False
         key = Trim(treers.Fields("年月"))
         text = Trim(treers.Fields("年月"))
         Set node2 = Fmain.TreeView1.Nodes.Add(node1.Index, , key, text, 2)
         treers.MoveNext
         Set treeNodeRs = class1.getdata("select ditinct 编号 from data1 where 编号 like '" & key & "%'")
         If treeNodeRs.RecordCount > 0 Then
             treeNodeRs.MoveFirst
             Do While treeNodeRs.EOF = False
                 key = Trim(treeNodeRs.Fields("编号"))
                 text = Trim(treeNodeRs.Fields("编号"))
                 Set node3 = Fmain.TreeView1.Nodes.Add(node2.Index, tvwChild, key, text, 3)
                 treeNodeRs.MoveNext
             Loop
         End If
  Loop
 End If
End Sub
数据库中一组数据的编号都是“201004290001,201004290002,201004290003 ....”格式的,前8位是当天的日期,后四位是当天的编号累计相加
为什么红色那句提示“无效的关键字”?这是怎么回事啊?求教!

解决方案 »

  1.   

    Set node2 = Fmain.TreeView1.Nodes.Add(key, ,cstr(node1.Index) , text, 2)
      

  2.   

    看msdn中TreeView1的使用方法吧,是否关联了imagelist控件?
      

  3.   

    object=treeview1.nodes
    object.Add(relative, relationship, key, text, image, selectedimage)
      Add 方法的语法包含下面部分: 
      部分 描述 
    object 必需的。对象表达式,其值是“应用于”列表中的一个对象 
    relative 可选的。已存在的 Node 对象的索引号或键值。新节点与已存在的节点间的关系,可在下一个参数 relationship 中找到。 
    relationship 可选的。指定的 Node 对象的相对位置,如设置值中所述。 
    key 可选的。唯一的字符串,可用于用 Item 方法检索 Node。 
    text 必需的。在 Node 中出现的字符串。 
    image 可选的。在关联的 ImageList 控件中的图象的索引。 
    selectedimage 可选的。在关联的 ImageList 控件中的图象的索引,在 Node 被选中时显示。 
      

  4.   

    纯数字的字符串不能作为 Key,可以加上字母前缀
    Set node2 = Fmain.TreeView1.Nodes.Add(node1.Index, , "K" & key, text, 2)