使用treeview时,提示对象打开,不允许操作解决方法

使用treeview时,提示对象打开,不允许操作
Private   Sub   Form_Load()
        Dim   nodX   As   Node
        Dim   i   As   Integer
        TreeView1.LineStyle   =   tvwRootLines     '   Linestyle   1显示+/-号

opendb
Dim   rs   As   New   ADODB.Recordset

Dim   sql   As   String
Dim   sqlzu   As   String

sql   =   "select   *   from   cun "
rs.Open   sql,   Conn,   1,   1
               
While   Not   rs.EOF
        Set   nodX   =   TreeView1.Nodes.Add(,   ,   "k "   &   rs.Fields( "cbhao "),   rs.Fields( "cming "))
        Dim   rszu   As   New   ADODB.Recordset
        sqlzu   =   "select   *   from   zu   where   cbhao   like   ' "   &   rs.Fields( "cbhao ")   &   " ' "
        rszu.Open   sqlzu,   Conn,   1,   1
       
        rs.MoveNext
Wend


End   Sub

运行后提示 "提示对象打开,不允许操作 ",请高手帮忙看看为什么会这样?

------解决方案--------------------
Dim rszu As New ADODB.Recordset貌似不应在循环体内定义
------解决方案--------------------
楼上的,这句定义没问题的。

问题在这里:

rszu.Open sqlzu, Conn, 1, 1
这条语句在循环体内,rszu就会被open好多次,而这时不允许的。使用完rszu后应该加上rszu.close
rszu并没有每次都被重新定义。而是指被定义了一次。

给分吧。
------解决方案--------------------
对象不用时记得将其关闭
SET CN=NOTHING
SET SRS=NOTHING
------解决方案--------------------
rszu.Open sqlzu, Conn, 1, 1
在循环内,打开后关闭就可以了
------解决方案--------------------

Private Sub Form_Load()
Dim nodX As Node
Dim i As Integer
TreeView1.LineStyle = tvwRootLines ' Linestyle 1显示+/-号

opendb
Dim rs As New ADODB.Recordset

Dim sql As String
Dim sqlzu As String

sql = "select * from cun "
rs.Open sql, Conn, 1, 1
Dim rszu As New ADODB.Recordset
While Not rs.EOF
Set nodX = TreeView1.Nodes.Add(, , "k " & rs.Fields( "cbhao "), rs.Fields( "cming "))

sqlzu = "select * from zu where cbhao like ' " & rs.Fields( "cbhao ") & " ' "
rszu.Open sqlzu, Conn, 1, 1

rs.MoveNext
Wend


End Sub

运行后提示 "提示对象打开,不允许操作 ",请高手帮忙看看为什么会这样?