Поделиться через


Метод 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