Freigeben über


Recordset.CancelUpdate-Methode (DAO)

Gilt für: Access 2013, Office 2013

Bricht alle ausstehenden Updates für ein Recordset-Objekt ab.

Syntax

Ausdruck . CancelUpdate(UpdateType)

Ausdruck Eine Variable, die ein Recordset-Objekt darstellt.

Parameter

Name

Erforderlich/optional

Datentyp

Beschreibung

UpdateType

Optional

Long

Legen Sie auf einen der UpdateTypeEnum-Werte fest.

HINWEIS: Die Werte dbUpdateRegular und dbUpdateBatch sind nur gültig, wenn die Batchaktualisierung aktiviert ist.

Hinweise

Mit der CancelUpdate-Methode können Sie alle ausstehenden Aktualisierungen abbrechen, die aus einer Edit- oder AddNew-Operation stammen. Wenn ein Benutzer z. B. die Edit- oder AddNew-Methode aufruft, ohne vorher die Update-Methode aufgerufen zu haben, werden durch die CancelUpdate-Methode alle Änderungen abgebrochen, die nach dem Aufrufen von Edit oder AddNew vorgenommen wurden.

Überprüfen Sie die EditMode -Eigenschaft des Recordset-Objekts, um zu ermitteln, ob eine Operation aussteht, die abgebrochen werden kann.

Hinweis

[!HINWEIS] Die Verwendung der CancelUpdate-Methode hat dieselbe Wirkung wie das Verschieben zu einem anderen Datensatz, ohne die Update -Methode zu verwenden. Der einzige Unterschied besteht darin, dass der aktuelle Datensatz nicht geändert wird und dass verschiedene Eigenschaften nicht aktualisiert werden, z. B. BOF und EOF.

Beispiel

Dieses Beispiel zeigt, wie die Methoden CancelUpdate und AddNew kombiniert werden.

    Sub CancelUpdateX() 
     
       Dim dbsNorthwind As Database 
       Dim rstEmployees As Recordset 
       Dim intCommand As Integer 
     
       Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
       Set rstEmployees = dbsNorthwind.OpenRecordset( _ 
          "Employees", dbOpenDynaset) 
     
       With rstEmployees 
          .AddNew 
          !FirstName = "Kimberly" 
          !LastName = "Bowen" 
          intCommand = MsgBox("Add new record for " & _ 
             !FirstName & " " & !LastName & "?", vbYesNo) 
          If intCommand = vbYes Then 
             .Update 
             MsgBox "Record added." 
             ' Delete new record because this is a  
             ' demonstration. 
             .Bookmark = .LastModified 
             .Delete 
          Else 
             .CancelUpdate 
             MsgBox "Record not added." 
          End If 
       End With 
     
       dbsNorthwind.Close 
     
    End Sub 

Dieses Beispiel zeigt, wie die Methoden CancelUpdate und Edit kombiniert werden.

Sub CancelUpdateX2() 
 
   Dim dbsNorthwind As Database 
   Dim rstEmployees As Recordset 
   Dim strFirst As String 
   Dim strLast As String 
   Dim intCommand As Integer 
 
   Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
   Set rstEmployees = dbsNorthwind.OpenRecordset( _ 
      "Employees", dbOpenDynaset) 
 
   With rstEmployees 
      strFirst = !FirstName 
      strLast = !LastName 
      .Edit 
      !FirstName = "Cora" 
      !LastName = "Edmonds" 
      intCommand = MsgBox("Replace current name with " & _ 
         !FirstName & " " & !LastName & "?", vbYesNo) 
      If intCommand = vbYes Then 
         .Update 
         MsgBox "Record modified." 
         ' Restore data because this is a demonstration. 
         .Bookmark = .LastModified 
         .Edit 
         !FirstName = strFirst 
         !LastName = strLast 
         .Update 
      Else 
         .CancelUpdate 
         MsgBox "Record not modified." 
      End If 
      .Close 
   End With 
 
   dbsNorthwind.Close 
 
End Sub