Compartilhar via


Método Recordset.CancelUpdate (DAO)

Aplica-se ao: Access 2013, Office 2013

Cancela qualquer atualizações pendentes de um objeto Recordset.

Sintaxe

expressão . CancelUpdate(UpdateType)

expressão Uma variável que representa um objeto Conjunto de registros.

Parâmetros

Nome

Necessária/opcional

Tipo de dados

Descrição

UpdateType

Opcional

Long

Defina como um dos valores UpdateTypeEnum .

OBSERVAÇÃO: os valores dbUpdateRegular e dbUpdateBatch são válidos somente se a atualização em lote estiver habilitada.

Comentários

Você pode usar o método CancelUpdate para cancelar atualizações pendentes que resultam de uma operação Edit ou AddNew. Por exemplo, se um usuário invocar o método Edit ou AddNew e não tiver invocado ainda o método Update, CancelUpdate cancelará quaisquer alterações feitas depois que Edit ou AddNew tiver sido invocado.

Verifique a propriedade EditMode do Recordset para determinar se existe uma operação pendente que possa ser cancelada.

Observação

[!OBSERVAçãO] Usar o método CancelUpdate tem o mesmo efeito de mover para outro registro sem usar o método Update, exceto pelo fato de que o registro atual não muda e várias propriedades, como BOF e EOF, não são atualizadas.

Exemplo

Este exemplo mostra como o método CancelUpdate é usado com o método AddNew.

    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 

Este exemplo mostra como o método CancelUpdate é usado com o 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