Propriedade CustomControl. OldValue (Access)CustomControl.OldValue property (Access)

Você pode usar a propriedade OldValue para determinar o valor editado de um controle acoplado.You can use the OldValue property to determine the unedited value of a bound control. Somente leitura Variant.Read-only Variant.

SintaxeSyntax

expressão. OldValueexpression.OldValue

expressão Uma variável que representa um objeto CustomControl .expression A variable that represents a CustomControl object.

ComentáriosRemarks

A propriedade OldValue contém os dados não editados de um controle acoplado e é somente leitura em todos os modos.The OldValue property contains the unedited data from a bound control and is read-only in all views.

O Microsoft Access usa a propriedade OldValue para armazenar o valor original de um controle acoplado.Microsoft Access uses the OldValue property to store the original value of a bound control. Quando você edita um controle acoplado em um formulário, suas alterações não são salvas até você ir para outro registro.When you edit a bound control on a form, your changes aren't saved until you move to another record. A propriedade OldValue contém a versão editada dos dados subjacentes.The OldValue property contains the unedited version of the underlying data.

Você pode fornecer sua própria capacidade de desfazer atribuindo a configuração da propriedade OldValue a um controle.You can provide your own undo capability by assigning the OldValue property setting to a control. O exemplo a seguir mostra como você pode desfazer qualquer alteração em controles de caixa de texto em um formulário.The following example shows how you can undo any changes to text box controls on a form.

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

Se o controle não tiver sido editado, esse código não terá efeito.If the control hasn't been edited, this code has no effect. Quando você move para outro registro, a fonte do registro é atualizado.When you move to another record, the record source is updated, so the current value and the OldValue property will be the same.

A configuração da propriedade OldValue tem os mesmos dados tipo o campo ao qual o controle está vinculado.The OldValue property setting has the same data type as the field to which the control is bound.

ExemploExample

O exemplo a seguir verifica para determinar se os novos dados inseridos em um campo estão dentro de 10 por cento do valor dos dados originais.The following example checks to determine if new data entered in a field is within 10 percent of the value of the original data. Se a alteração for maior que 10 por cento, a propriedade OldValue é usada para restaurar o valor original.If the change is greater than 10 percent, the OldValue property is used to restore the original value. Este procedimento pode ser chamado a partir do evento BeforeUpdate do controle que contém os dados que você deseja validar.This procedure could be called from the BeforeUpdate event of the control that contains the data that you want to validate.

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

Suporte e comentáriosSupport and feedback

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação?Have questions or feedback about Office VBA or this documentation? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.