Access VBA教程:OldValue属性

使用 OldValue属性可以确定绑定控件中未编辑的值。Variant 型,只读。

expression.OldValue

expression   必需。返回“Applies To”列表中的一个对象的表达式。

说明

OldValue属性包含的是绑定控件中未编辑的数据,它在所有视图中都为只读。

只有在使用Visual Basic 时才可以访问该属性。

通过使用以下语法,可以将 OldValue属性赋给一个变量。


OriginalValue = Forms!Customers!AmountPaid.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属性设置与控件绑定到的字段有相同的数据类型。

VBA示例

下面的示例检查字段中新输入的数据,确定新值是否在原始数据值的 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

上页:Access VBA教程:OldBorderStyle属性 下页:Access VBA教程:OLEClass属性

Access VBA教程:OldValue属性

Access VBA教程:OLEClass属性 Access VBA教程:OLEData属性
Access VBA教程:OLEType属性 Access VBA教程:OLETypeAllowed属性
Access VBA教程:OnActivate属性 Access VBA教程:OnApplyFilter属性
Access VBA教程:OnChange属性 Access VBA教程:OnClick属性
Access VBA教程:OnClose属性 Access VBA教程:OnConnect属性
Access VBA教程:OnCurrent属性 Access VBA教程:OnDblClick属性
Access VBA教程:OnDeactivate属性 Access VBA教程:OnDelete属性
Access VBA教程:OnDirty属性 Access VBA教程:OnDisconnect属性
Access VBA教程:OnEnter属性 Access VBA教程:OnError属性
Access VBA教程:OnExit属性 Access VBA教程:OnFilter属性
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号