ListBox. OldValue-Eigenschaft (Access)ListBox.OldValue property (Access)

Mit der OldValue-Eigenschaft können Sie den unbearbeiteten Wert eines gebundenen Steuerelements ermitteln.You can use the OldValue property to determine the unedited value of a bound control. Schreibgeschützter Variant-Wert.Read-only Variant.

SyntaxSyntax

Ausdruck. OldValueexpression.OldValue

Ausdruck Eine Variable, die ein ListBox -Objekt darstellt.expression A variable that represents a ListBox object.

HinweiseRemarks

Die OldValue-Eigenschaft enthält unbearbeitete Daten aus einem gebundenen Steuerelement und ist in allen Ansichten schreibgeschützt.The OldValue property contains the unedited data from a bound control and is read-only in all views.

Microsoft Access verwendet die OldValue-Eigenschaft, um den ursprünglichen Wert eines gebundenen Steuerelements zu speichern.Microsoft Access uses the OldValue property to store the original value of a bound control. Bearbeiten Sie ein gebundenes Steuerelement in einem Formular, so werden die Änderungen erst gespeichert, wenn Sie zu einem anderen Datensatz wechseln.When you edit a bound control on a form, your changes aren't saved until you move to another record. Die OldValue -Eigenschaft enthält die unbearbeitete Version der zugrunde liegenden Daten.The OldValue property contains the unedited version of the underlying data.

Sie können eine eigene Funktion zum Rückgängigmachen der letzten Operation implementieren, indem Sie die Einstellung der OldValueld-Eigenschaft einem Steuerelement zuweisen.You can provide your own undo capability by assigning the OldValue property setting to a control. Im folgenden Beispiel wird gezeigt, wie Sie Änderungen an Textfeldsteuerelementen in einem Formular rückgängig machen können.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

Wurde das Steuerelement nicht bearbeitet, so hat dieser Code keine Auswirkung.If the control hasn't been edited, this code has no effect. Wenn Sie zu einem anderen Datensatz wechseln, wird die Datensatzquelle aktualisiert, sodass der aktuelle Wert und die OldValue-Eigenschaft übereinstimmen.When you move to another record, the record source is updated, so the current value and the OldValue property will be the same.

Die Einstellung der OldValue-Eigenschaft hat denselben Datentyp wie das Feld, an welches das Steuerelement gebunden ist.The OldValue property setting has the same data type as the field to which the control is bound.

BeispielExample

Das folgende Beispiel überprüft, ob neu in ein Feld eingegebene Daten mehr als 10 Prozent vom ursprünglichen Wert abweichen.The following example checks to determine if new data entered in a field is within 10 percent of the value of the original data. Beträgt die Änderung mehr als 10 Prozent, so wird der ursprüngliche Wert mithilfe der OldValue-Eigenschaft wiederhergestellt.If the change is greater than 10 percent, the OldValue property is used to restore the original value. Dieses Verfahren kann aus dem BeforeUpdate -Ereignis des Steuerelements aufgerufen werden, das die zu validierenden Daten enthält.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

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.