Compartir a través de


Método Recordset2.CancelUpdate (DAO)

Se aplica a: Access 2013, Office 2013

Cancela todas las actualizaciones pendientes para un objeto Recordset.

Sintaxis

expresión . CancelUpdate(UpdateType)

Expresión Variable que representa un objeto Recordset2 .

Parameters

Nombre

Obligatorio/opcional

Tipo de datos

Descripción

UpdateType

Opcional

Long

Establezca en uno de los valores UpdateTypeEnum .

NOTA: Los valores dbUpdateRegular y dbUpdateBatch solo son válidos si está habilitada la actualización por lotes.

Comentarios

Puede utilizar el método CancelUpdate para cancelar cualquier actualización pendiente resultante de una operación Edit o AddNew. Por ejemplo, si un usuario abre el método Edit o AddNew y no ha abierto aún el método Update, CancelUpdate cancela cualquier cambio realizado después de abrir Edit o AddNew.

Compruebe la propiedad EditMode de Recordset para determinar si hay alguna operación pendiente que se puede cancelar.

Nota:

[!NOTA] Utilizar el método CancelUpdate tiene el mismo efecto que desplazarse a otro registro sin utilizar el método Update, excepto que el registro activo no cambia y varias propiedades, como BOF y EOF no se actualizan.

Ejemplo

En este ejemplo se muestra cómo se utiliza el método CancelUpdate con el método 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 

En este ejemplo se muestra cómo se utiliza el método CancelUpdate con el método 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