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

Sie können die OldValue -Eigenschaft verwenden, um den unbearbeiteten Wert eines gebundenen Steuerelements zu bestimmen.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.

BemerkungenRemarks

Die OldValue -Eigenschaft enthält die unbearbeiteten 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. Wenn Sie ein gebundenes Steuerelement in einem Formular bearbeiten, werden Ihre Ä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 Eigenschaft OldValue einem Steuerelement zuweisen.You can provide your own undo capability by assigning the OldValue property setting to a control. Das folgende Beispiel zeigt, wie Sie alle Ä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

Wenn das Steuerelement nicht bearbeitet wurde, 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 identisch sind.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 das das Steuerelement gebunden ist.The OldValue property setting has the same data type as the field to which the control is bound.

BeispielExample

Im folgenden Beispiel wird überprüft, ob die neuen Daten, die in ein Feld eingegeben werden, innerhalb von 10% des Werts der ursprünglichen Daten liegen.The following example checks to determine if new data entered in a field is within 10 percent of the value of the original data. Wenn die Änderung größer als 10 Prozent ist, wird die OldValue -Eigenschaft verwendet, um den ursprünglichen Wert wiederherzustellen.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 überprüfenden 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.