ComboBox.OldValue 属性 (Access)
使用 OldValue 属性确定绑定控件的未编辑值。 只读变体。
表达式。OldValue
表达 一个代表 ComboBox 对象的变量。
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 支持和反馈,获取有关如何接收支持和提供反馈的指南。