For tt = 1 To UBound(idbsi)
                   If ii = 1 Then
                If glyuan = "" Then
                   rs2.Open "select * from " & bm & " where id=" & xuexiaoid & " and  b1=" & idbsi(tt), conn, 1, 1
                Else
                   rs2.Open "select * from " & bm & " where b1=" & idbsi(tt), conn, 1, 1
                End If
                Else
                rs2.Open "select * from " & bm & " where b1=" & idbsi(tt), conn, 1, 1
                End If
                     If Not rs2.EOF Then
                        While Not rs2.EOF
                          idbs2 = idbs2 & "//" & rs2.Fields("id")
                           
                           'Debug.Print "[外"; ii & "-内"; tt & "=" & idbs; "]" & "父节点:bm" & ii & "a" & Rs2.Fields("b1"), "下一父节点:bm" & ii + 1 & "a" & (Rs2.Fields("id"))
                            Set xNode = TreeView1.Nodes.Add("bm" & ii & "a" & rs2.Fields("b1"), tvwChild)
                            'xNode.Expanded = True
                           xNode.Key = "bm" & ii + 1 & "a" & (rs2.Fields("id"))
                           xNode.Tag = rs2.Fields("id")
                           xNode.Text = rs2.Fields("bm")
                           xNode.Image = 1
                           xNode.SelectedImage = 2
                          
                       rs2.MoveNext
                     Wend
                     Else
                     'MsgBox idbsi(tt)
                End If
   Next tt
  idbs = idbs2
  Next ii
 
Private Sub TreeView1_DblClick()
If mNodeClick = 1 Then Exit Sub
   MsgBox TreeView1.Nodes.Item(TreeView1.SelectedItem.Index).tag
 Unload Me
End Sub
 
这样不行

解决方案 »

  1.   

    .Tag  并不是只能放rs2.Fields("id")这一个东西,东西复杂就弄propertybag 简单点的就直接”当前节点ID|上一节点ID“,然后通过上一级节点ID找到上一节点,一级一级往上找就是了,这么简单的东西自己发挥一下呗
      

  2.   

    可是有时候要获得下一级的节点的某个值,又如点击a1得到a2的tag,点击c1得到c2的tag。
      

  3.   

    如何得到当前节点所在所有节点对应的tag(不是text),不会。求高手。
      

  4.   

    本帖最后由 bcrun 于 2015-02-26 16:43:23 编辑
      

  5.   

    本帖最后由 bcrun 于 2015-02-26 16:41:45 编辑
      

  6.   

    父子节点那些我明白,但这个依然没有解决,可能是我没能说清楚我的目的?
    我的目的是:无论这树有多少个节点,点击任意一个节点,都可以此节点对应的树的第2级节点的那个的tag,如点击a1得到a2的tag,点击c8也是得到c2的tag,这样。谢谢高手了。
      

  7.   

    A                      第0层
      a1                  第1层
          a2              第2层
               a3         第3层
                  a4      第4层
    B                      第0层
        b1                第1层
           b2             第2层
              b3          第3层
                 b4       第4层
    ……
    定义层数,根节点层数为0,其余节点层数等于父节点层数+1,层数值在添加Node的时候存到Node的.tag属性里面,具体方法见#2楼,从.SelectedItem.tag取当前节点的层数,循环.parent取父节点、父父节点、父父父节点一直取到.tag属性里面层数=2的节点或者循环.child取子节点、子子节点、子子子节点一直取到.tag属性里面层数=2的节点。方法在#2、#5楼不都告诉你了,你就不知道自己动点脑子变通一下