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