&引用;当对象处于打开状态时,不允许操作";VB6中的错误

&引用;当对象处于打开状态时,不允许操作";VB6中的错误,vb6,Vb6,当我试图执行程序时,我得到一个错误,如“当对象打开时,不允许操作” 我在代码的第二部分发现了错误,其中.Source=“SELECT*FROM t_data_Comments Sub DneFroceClose() Dim lngRecCount As Long frmDNELoad.lblStatus.Caption = "Updating records in Reclamation and Comments Table..." frmDNELoad.Re

当我试图执行程序时,我得到一个错误,如“当对象打开时,不允许操作”

我在代码的第二部分发现了错误,其中
.Source=“SELECT*FROM t_data_Comments

    Sub DneFroceClose() 
    Dim lngRecCount As Long

    frmDNELoad.lblStatus.Caption = "Updating records in Reclamation and Comments Table..."
    frmDNELoad.Refresh
    CqDate = Format(Date, "dd/MM/yyyy")

    Set rcdreclamation = New ADODB.Recordset
    With rcdreclamation
        .ActiveConnection = objConn
        .Source = "SELECT * FROM T_DATA_reclamation"
        .CursorType = adOpenDynamic
        .CursorLocation = adUseClient
        .LockType = adLockOptimistic
        .Open
    End With

    rcdDNE.MoveFirst
    rcdreclamation.MoveFirst 
    Do Until rcdDNE.EOF 
      Do Until rcdreclamation.EOF 
         If rcdDNE.Fields![AccountNbr] = rcdreclamation.Fields![RTProvided] Then
              rcdreclamation.Fields![ClaimStatus] = "C"
              rcdreclamation.Fields![DateClosed] = CqDate
              rcdreclamation.Fields![Audit_LastUpdated] = CqDate
              rcdreclamation.Fields![Audit_UserAdded] = "SYSTEM"
              rcdreclamation.Update
              Call DneComments
              Exit Do
         Else
         rcdreclamation.MoveNext
         End If 
      Loop
       rcdDNE.MoveNext
       rcdreclamation.MoveFirst 
    Loop 
End Sub 

    Sub DneComments() 
    With cmdDNEFRC
        .ActiveConnection = objConn
        .CommandText = "insert into t_data_Comments (ControlNbr, Audit_DateAdded, Audit_UserAdded, Description, EntryType) values ('" & rcdreclamation("ControlNbr") & "', '" & rcdreclamation("DateClosed") & "', '" & rcdreclamation("Audit_UserAdded") & "', 'Claim force-closed.', 'FORCE-CLS')"
        .CommandType = adCmdText
    End With

    Set rcdDneComments = New ADODB.Recordset
    With rcddnefrc
        .ActiveConnection = objConn
        .Source = "SELECT * FROM t_data_Comments"
        .CursorType = adOpenDynamic
        .CursorLocation = adUseClient
        .LockType = adLockOptimistic
        .Open
    End With

    With rcddnefrc
        .Requery
        .AddNew
        .Fields![ControlNbr] = rcdreclamation.Fields![ControlNbr]
        .Fields![Audit_DateAdded] = rcdreclamation.Fields![DateClosed]
        .Fields![Audit_UserAdded] = rcdDNE.Fields![Audit_UserAdded]
        .Fields![Description] = "Claim force-closed."
        .Fields![EntryType] = "FORCE-CLS"
        .Update
    End With 
End Sub

将行更改为

With rcdDneComments

谢谢。我没有看到。它现在可以工作了。谢谢你的帮助。你是否意识到,你的VBA代码在两个记录集中循环,可以被一个更新SQL语句代替,这样更易于维护,性能更好,等等?谷歌对RBAR的贬义词:“一行一行”。