Свойство WebBrowserControl.OldValue (Access)

Свойство OldValue используется для определения неотредактированного значения связанного элемента управления. Только для чтения, Variant.

Синтаксис

выражение. OldValue

выражение Переменная, представляющая объект WebBrowserControl .

Примечания

Свойство OldValue содержит неотредактированные данные из связанного элемента управления и доступно только для чтения во всех представлениях.

Microsoft Access использует свойство OldValue для хранения исходного значения связанного элемента управления. Изменения при изменении связанного элемента управления в форме сохраняются только после перехода к другой записи. Свойство OldValue содержит неотредактированную версию базовых данных.

Вы можете предоставить собственную возможность отмены, назначив элементу управления параметр свойства OldValue . В следующем примере показано, как отменить любые изменения, внесенные в элементы управления текстовыми полями в форме.

Private Sub btnUndo_Click() 
 
 Dim ctlTextbox As Control 
 
 For Each ctlTextbox in Me.Controls 
 If ctlTextbox.ControlType = acTextBox Then 
 ctlTextbox.Value = ctl.OldValue 
 End If 
 Next ctlTextbox 
 
End Sub

Если элемент управления не был отредактирован, этот код не оказывает влияния. При переходе к другой записи источник записей обновляется, поэтому текущее значение и свойство OldValue будут одинаковыми.

Параметр свойства OldValue имеет тот же тип данных, что и поле, с которым связан элемент управления.

Пример

В следующем примере проверяется, находятся ли новые данные, введенные в поле, в пределах 10 процентов от значения исходных данных. Если изменение превышает 10 процентов, для восстановления исходного значения используется свойство OldValue . Эту процедуру можно вызвать из события BeforeUpdate элемента управления, содержащего данные, которые требуется проверить.

Public Sub Validate_Field() 
 
 Dim curNewValue As Currency 
 Dim curOriginalValue As Currency 
 Dim curChange As Currency 
 Dim strMsg As String 
 
 curNewValue = Forms!Products!UnitPrice 
 curOriginalValue = Forms!Products!UnitPrice.OldValue 
 curChange = Abs(curNewValue - curOriginalValue) 
 
 If curChange > (curOriginalValue * .1) Then 
 strMsg = "Change is more than 10% of original unit price." _ 
 & "Restoring original unit price." 
 MsgBox strMsg, vbExclamation, "Invalid change." 
 Forms!Products!UnitPrice = curOriginalValue 
 End If 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.