共用方式為


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 支援與意見反應