Propriedade Image.OldValue (Access)
Use a propriedade OldValue para determinar o valor não editado de um controle vinculado. Somente leitura Variant.
Sintaxe
expressão. Oldvalue
Expressão Uma variável que representa um objeto Image .
Comentários
A propriedade OldValue contém os dados não editados de um controle acoplado e é somente leitura em todos os modos.
O Microsoft Access usa a propriedade OldValue para armazenar o valor original de um controle acoplado. Quando você edita um controle acoplado em um formulário, suas alterações não são salvas até você ir para outro registro. A propriedade OldValue contém a versão editada dos dados subjacentes.
Você pode fornecer sua própria capacidade de desfazer atribuindo a configuração da propriedade OldValue a um controle. O exemplo a seguir mostra como você pode desfazer quaisquer alterações nos controles de caixa de texto em um formulário.
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. Quando você move para outro registro, a fonte do registro é atualizado.
A configuração da propriedade OldValue tem os mesmos dados tipo o campo ao qual o controle está vinculado.
Exemplo
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. Se a alteração for maior que 10 por cento, a propriedade OldValue é usada para restaurar o valor original. Esse procedimento pode ser chamado do evento BeforeUpdate do controle que contém os dados que você deseja validar.
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ários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? 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.