NavigationButton.OldValue-Eigenschaft (Access)
Verwenden Sie die OldValue-Eigenschaft , um den unbearbeiteten Wert eines gebundenen Steuerelements zu bestimmen. Schreibgeschützter Variant-Wert.
Syntax
Ausdruck. OldValue
Ausdruck Eine Variable, die ein NavigationButton-Objekt darstellt.
Hinweise
Die OldValue-Eigenschaft enthält unbearbeitete Daten aus einem gebundenen Steuerelement und ist in allen Ansichten schreibgeschützt.
Microsoft Access verwendet die OldValue-Eigenschaft, um den ursprünglichen Wert eines gebundenen Steuerelements zu speichern. Bearbeiten Sie ein gebundenes Steuerelement in einem Formular, so werden die Änderungen erst gespeichert, wenn Sie zu einem anderen Datensatz wechseln. Die OldValue -Eigenschaft enthält die unbearbeitete Version der zugrunde liegenden Daten.
Sie können eine eigene Funktion zum Rückgängigmachen der letzten Operation implementieren, indem Sie die Einstellung der OldValueld-Eigenschaft einem Steuerelement zuweisen. Das folgende Beispiel zeigt, wie Sie Änderungen an Textfeldsteuerelementen in einem Formular rückgängig machen können.
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
Wurde das Steuerelement nicht bearbeitet, so hat dieser Code keine Auswirkung. Wenn Sie zu einem anderen Datensatz wechseln, wird die Datensatzquelle aktualisiert, sodass der aktuelle Wert und die OldValue-Eigenschaft übereinstimmen.
Die Einstellung der OldValue-Eigenschaft hat denselben Datentyp wie das Feld, an welches das Steuerelement gebunden ist.
Beispiel
Das folgende Beispiel überprüft, ob neu in ein Feld eingegebene Daten mehr als 10 Prozent vom ursprünglichen Wert abweichen. Beträgt die Änderung mehr als 10 Prozent, so wird der ursprüngliche Wert mithilfe der OldValue-Eigenschaft wiederhergestellt. Diese Prozedur kann über das BeforeUpdate-Ereignis des Steuerelements aufgerufen werden, das die daten enthält, die Sie überprüfen möchten.
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
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.