Private Sub Form_Load()
Dim nodX As Node
Dim i As Integer
TreeView1.LineStyle = tvwRootLines ' Linestyle 1显示+/-号opendb
Dim rs As New ADODB.RecordsetDim sql As String
Dim sqlzu As Stringsql = "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 nodX As Node
Dim i As Integer
TreeView1.LineStyle = tvwRootLines ' Linestyle 1显示+/-号opendb
Dim rs As New ADODB.RecordsetDim sql As String
Dim sqlzu As Stringsql = "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运行后提示"提示对象打开,不允许操作",请高手帮忙看看为什么会这样?
这条语句在循环体内,rszu就会被open好多次,而这时不允许的。使用完rszu后应该加上rszu.close
rszu并没有每次都被重新定义。而是指被定义了一次。给分吧。
SET CN=NOTHING
SET SRS=NOTHING
在循环内,打开后关闭就可以了
Private Sub Form_Load()
Dim nodX As Node
Dim i As Integer
TreeView1.LineStyle = tvwRootLines ' Linestyle 1显示+/-号opendb
Dim rs As New ADODB.RecordsetDim sql As String
Dim sqlzu As Stringsql = "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运行后提示"提示对象打开,不允许操作",请高手帮忙看看为什么会这样?