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