Access) (CustomControl.OldValue 屬性
使用 OldValue 屬性來判斷繫結控制項的未編輯值。 唯讀的 Variant。
語法
運算式。OldValue
表達 代表 CustomControl 物件的 變數。
註解
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 支援與意見反應。