2009-12-09 96 views
0

當我嘗試執行程序時,出現如下錯誤:「對象打開時不允許操作」。「當對象打開時不允許操作」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

回答

2

商變更線

With rcdDneComments 
+0

謝謝。我沒有看到。它的工作現在。謝謝你的幫助。 – pbrp 2009-12-09 22:58:52

相關問題