Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Свойство 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 и обратная связь.