Partager via


Recordset2.CancelUpdate, méthode (DAO)

S’applique à : Access 2013, Office 2013

Annule les mises à jour en attente pour un objetRecordset.

Syntaxe

expression . CancelUpdate(UpdateType)

Expression Variable qui représente un objet Recordset2 .

Paramètres

Nom

Obligatoire/facultatif

Type de données

Description

UpdateType

Facultatif

Long

Définissez sur l’une des valeurs UpdateTypeEnum .

REMARQUE : les valeurs dbUpdateRegular et dbUpdateBatch sont valides uniquement si la mise à jour par lots est activée.

Remarques

Vous pouvez utiliser la méthode CancelUpdate pour annuler les mises à jour en attente résultant d'une opération Edit ou AddNew. Par exemple, si un utilisateur appelle la méthode Edit ou AddNew alors qu'il n'a pas encore appelé la méthode Update, CancelUpdate annule les modifications apportées consécutivement à l'appel de Edit ou AddNew.

Vérifiez la propriété EditMode de l'objet Recordset pour déterminer s'il existe une opération en attente susceptible d'être annulée.

Remarque

[!REMARQUE] Le fait d'utiliser la méthode CancelUpdate revient à atteindre un autre enregistrement sans utiliser la méthode Update, à ceci près que l'enregistrement actif ne change pas et que plusieurs propriétés, telles que BOF et EOF, ne sont pas mises à jour.

Exemple

Cet exemple de code montre comment utiliser la méthode CancelUpdate avec la méthode AddNew.

    Sub CancelUpdateX() 
     
       Dim dbsNorthwind As Database 
       Dim rstEmployees As Recordset2 
       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 

Cet exemple de code montre comment utiliser la méthode CancelUpdate avec la méthode Edit.

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