“当对象打开时不允许操作”VB6中出现错误

问题描述:

当我尝试执行程序时,出现如下错误:“对象打开时不允许操作”。“当对象打开时不允许操作”VB6中出现错误

我geeting错误代码的第二部分,其中.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 
+0

你是否意识到,通过在两个记录循环您的VBA代码可以被替换通过一个更容易维护的UPDATE SQL语句,性能会更好,等等? Google贬义词RBAR:'通过Agonizing Row排'。 – onedaywhen 2009-12-10 10:18:55

商变更线

With rcdDneComments 
+0

谢谢。我没有看到。它的工作现在。谢谢你的帮助。 – pbrp 2009-12-09 22:58:52