Метод Recordset.CancelUpdate (DAO)
Область применения: Access 2013, Office 2013
Отменяет любые незавершенные обновления для объекта Recordset.
Синтаксис
expression . CancelUpdate(UpdateType)
expression: переменная, представляющая объект Recordset.
Параметры
Имя |
Обязательный/необязательный |
Тип данных |
Описание |
---|---|---|---|
UpdateType |
Необязательный |
Long |
Задайте одно из значений UpdateTypeEnum . ПРИМЕЧАНИЕ. Значения dbUpdateRegular и dbUpdateBatch действительны, только если включено пакетное обновление. |
Замечания
Метод CancelUpdate можно использовать для отмены всех ожидающих обновлений, возникающих в результате операции "Изменить" или "Добавитьню ". Например, если пользователь вызывает метод Edit или AddNew и еще не вызывает метод Update , CancelUpdate отменяет все изменения, внесенные после вызова Edit или AddNew .
Проверьте свойство EditModeнабора записей , чтобы определить, есть ли ожидающая операция, которую можно отменить.
Примечание.
Использование метода CancelUpdate имеет тот же эффект, что и переход к другой записи без использования метода Update , за исключением того, что текущая запись не изменяется, а различные свойства, такие как BOF и EOF, не обновляются.
Пример
В этом примере показано, как метод CancelUpdate используется с методом 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
В этом примере показано, как метод CancelUpdate используется с методом 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