Vb6 如何修复对象关闭时不允许的此操作
列表项 如何修复此错误“对象关闭时不允许操作” 此选项用于在vb6的listview中添加和显示存储的数据Vb6 如何修复对象关闭时不允许的此操作,vb6,Vb6,列表项 如何修复此错误“对象关闭时不允许操作” 此选项用于在vb6的listview中添加和显示存储的数据 Dim connect As New ADODB.Connection Dim rs As New ADODB.Recordset Dim a As Integer Dim b As Integer Dim x As Long Dim c As String Option Explicit Private Sub Command1_Click() rs
Dim connect As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim a As Integer
Dim b As Integer
Dim x As Long
Dim c As String
Option Explicit
Private Sub Command1_Click()
rs.AddNew 'this line shows the error
ado.Recordset.Fields("EMPID").Value = emp.Text
ado.Recordset.Fields("DEPARTMENT") = Text2.Text
ado.Recordset.Fields("EMPNAME") = Text1.Text
ado.Recordset.Fields("TIMEIN") = DTPicker3.Value
ado.Recordset.Fields("TIMEOUT") = DTPicker4.Value
ado.Recordset.Fields("LOGDATE") = DTPicker2.Value
rs.Update
End Sub
Private Sub Command2_Click()
a = DateDiff("d", DTPicker1, DTPicker2)
b = DateDiff("h", DTPicker3, DTPicker4)
x = a * b
c = x * 52.5
Text7.Text = "Hours:" & x & " Days:" & a & "$ " & c
End Sub
Private Sub Form_Load()
connect.Open _
"Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\Users\MIS02\Desktop\FILE.accdb;Persist Security Info=False"
With ListView1.ColumnHeaders
.Add , , "EMPID", Width / 15, lvwColumnLeft
.Add , , "DEPARTMENT", Width / 10, lvwColumnCenter
.Add , , "EMPNAME", Width / 12, lvwColumnCenter
.Add , , "TIMEIN", Width / 12, lvwColumnCenter
.Add , , "TIMEOUT", Width / 12, lvwColumnCenter
.Add , , "LOGDATE", Width / 10, lvwColumnCenter
End With
End Sub
Sub dbconnection()
connect.Open _
"Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\Users\MIS02\Desktop\FILE.accdb;Persist Security Info=False"
End Sub
Sub loaddata()
Dim list As ListItem
ListView1.ListItems.Clear
dbconnection
rs.Open "Select *from Attendance", con, adOpenDynamic,
adLockOptimistic
Do Until rs.EOF
Set list = ListView1.ListItems.Add(, , rs!Employee)
list.SubItems(1) = rs!Department
list.SubItems(2) = rs!Surename
list.SubItems(3) = rs!FirstName
list.SubItems(4) = rs!TimeIn
list.Subitems(5)=rs!Timeout
list.SubItems(6) = rs!DateRecord
rs.MoveNext
Loop
=======================================================
我希望我可以在listview中存储和显示数据。您将
connect
声明为连接,并且似乎倾向于使用它(因为您正在调用dbconnection
方法)。但同时,您要传递con
作为打开记录集的参数。此变量可能不存在,或者如果存在于全局级别-未正确初始化/打开。您将connect
声明为连接,并且似乎倾向于使用它(因为您正在调用dbconnection
方法)。但同时,您要传递con
作为打开记录集的参数。此变量可能不存在或存在于全局级别-未正确初始化/打开。记录集rs
似乎在子loaddata
中打开。但是loaddata
不会在发布的代码中的任何地方调用,因此当您尝试调用rs.AddNew
时,我预计会出现“objectclosed”错误,而那些ado.Recordset.Fields
引用将导致接下来的问题。我希望您打算将这些列值添加到刚刚添加到记录集rs
的新记录中?请这样做:rs.Fields(“blahblah”)
。您好,谢谢您的回复我将loaddata放入表单load中,但我的dbconnection中存在另一个错误相同的错误您打开连接对象connect
两次,效率很低,但不应引发异常。rs.open
调用使用的是con
,它未在发布的代码中定义、创建或打开-我预计可能会引发异常或编译错误。记录集rs
似乎在子loaddata
中打开。但是loaddata
不会在发布的代码中的任何地方调用,因此当您尝试调用rs.AddNew
时,我预计会出现“objectclosed”错误,而那些ado.Recordset.Fields
引用将导致接下来的问题。我希望您打算将这些列值添加到刚刚添加到记录集rs
的新记录中?请这样做:rs.Fields(“blahblah”)
。您好,谢谢您的回复我将loaddata放入表单load中,但我的dbconnection中存在另一个错误相同的错误您打开连接对象connect
两次,效率很低,但不应引发异常。rs.open
调用使用的是con
,它未在发布的代码中定义、创建或打开-我预计可能会引发异常或编译错误。