急vb6中access与treeview显示代码改错

急求教:vb6中access与treeview显示代码改错
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位是当天的日期,后四位是当天的编号累计相加
为什么红色那句提示“无效的关键字”?这是怎么回事啊?求教!

------解决方案--------------------
key最好用字母开头
------解决方案--------------------
纯数字的字符串不能作为 Key,可以加上字母前缀
VB code
Set node2 = Fmain.TreeView1.Nodes.Add(node1.Index, , "K" & key, text, 2)