使用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
运行后提示 "提示对象打开,不允许操作 ",请高手帮忙看看为什么会这样?
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
运行后提示 "提示对象打开,不允许操作 ",请高手帮忙看看为什么会这样?