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

Mit der ValidationRule-Eigenschaft können Sie Anforderungen für Daten angeben, die in einen Datensatz, ein Feld oder ein Steuerelement eingegeben werden.You can use the ValidationRule property to specify requirements for data entered into a record, field, or control. Wenn Daten eingegeben werden, die die ValidationRule-Einstellung verletzen, können Sie mit der ValidationText-Eigenschaft die Meldung angeben, die dem Benutzer angezeigt wird.When data is entered that violates the ValidationRule setting, you can use the ValidationText property to specify the message to be displayed to the user. Zeichenfolge mit Lese-/Schreibzugriff.Read/write String.

SyntaxSyntax

Ausdruck. ValidationRuleexpression.ValidationRule

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

HinweiseRemarks

Geben Sie einen Ausdruck für die ValidationRule-Eigenschaft und Text für die ValidationText-Eigenschaft ein.Enter an expression for the ValidationRule property setting and text for the ValidationText property setting. Die maximale Länge für die ValidationRule-Eigenschaft beträgt 2048 Zeichen.The maximum length for the ValidationRule property setting is 2048 characters. Die maximale Länge für die ValidationText -Eigenschaft beträgt 255 Zeichen.The maximum length for the ValidationText property setting is 255 characters.

Für Steuerelemente können Sie die ValidationRule-Eigenschaft auf jeden gültigen Ausdruck festlegen.For controls, you can set the ValidationRule property to any valid expression. Für Feld-und Daten Satz Überprüfungsregeln kann der Ausdruck keine benutzerdefinierten Funktionen, Domänen Aggregate oder Aggregatfunktionen, die eval -Funktion, die CurrentUser -Methode oder Verweise auf Formulare, Abfragen oder Tabellen enthalten.For field and record validation rules, the expression can't contain user-defined functions, domain aggregate or aggregate functions, the Eval function, the CurrentUser method, or references to forms, queries, or tables. Darüber hinaus dürfen Gültigkeitsprüfungsregeln für Felder keine Verweise auf andere Felder enthalten.In addition, field validation rules can't contain references to other fields. Bei Datensätzen können Ausdrücke Verweise auf Felder in der Tabelle enthalten.For records, expressions can include references to fields in that table.

Für Tabellenfelder und Datensätze können Sie diese Eigenschaften auch in Visual Basic mithilfe der DAO-Eigenschaft ValidationRule festlegen.For table fields and records, you can also set these properties in Visual Basic by using the DAO ValidationRule property.

Microsoft Access überprüft Werte automatisch basierend auf dem Datentyp eines Felds; Beispielsweise lässt Access keinen Text in einem numerischen Feld zu.Microsoft Access automatically validates values based on a field's data type; for example, Access doesn't allow text in a numeric field. Sie können Regeln festlegen, die spezifischer sind, indem Sie die ValidationRule -Eigenschaft verwenden.You can set rules that are more specific by using the ValidationRule property.

Wenn Sie die ValidationRule -Eigenschaft festlegen, jedoch nicht die ValidationText -Eigenschaft, zeigt Access beim verletzen der Überprüfungsregel eine Standardfehlermeldung an.If you set the ValidationRule property but not the ValidationText property, Access displays a standard error message when the validation rule is violated. Wenn Sie die ValidationText -Eigenschaft festlegen, wird der eingegebene Text als Fehlermeldung angezeigt.If you set the ValidationText property, the text that you enter is displayed as the error message.

Wenn beispielsweise ein Datensatz für einen neuen Mitarbeiter hinzugefügt wird, können Sie eine ValidationRule -Eigenschaft eingeben, die erfordert, dass der Wert im Feld StartDate des Mitarbeiters zwischen dem Gründungsdatum des Unternehmens und dem aktuellen Datum liegt.For example, when a record is added for a new employee, you can enter a ValidationRule property requiring that the value in the employee's StartDate field fall between the company's founding date and the current date. Wenn das eingegebene Datum nicht in diesem Bereich liegt, können Sie entsprechend der ValidationText -Eigenschaft die Meldung anzeigen: "Startdatum ist falsch".If the date entered isn't in this range, you can display the ValidationText property message: "Start date is incorrect."

Wenn Sie ein Steuerelement erstellen, indem Sie ein Feld aus der Feldliste ziehen, bleibt die Gültigkeitsregel des Felds erhalten, auch wenn es im Eigenschaftenfenster des Steuerelements für die ValidationRule -Eigenschaft nicht angezeigt wird.If you create a control by dragging a field from the field list, the field's validation rule remains in effect, although it isn't displayed in the control's ValidationRule property box on the property sheet. Der Grund ist, dass eine Feld-Gültigkeitsprüfungsregel von einem an das Feld gebundenen Steuerelement geerbt wird.This is because a field's validation rule is inherited by a control bound to that field.

Gültigkeitsprüfungsregeln für Steuerelemente, Felder und Datensätze werden wie folgt angewendet:Control, field, and record validation rules are applied as follows:

  • Validierungsregeln, die Sie für Felder und Steuerelemente festlegen, werden angewendet, wenn Sie die Daten bearbeiten und der Fokus das Feld oder Steuerelement verlässt.Validation rules that you set for fields and controls are applied when you edit the data and the focus leaves the field or control.

  • Gültigkeitsprüfungsregeln für Datensätze werden angewendet, wenn Sie zu einem anderen Datensatz wechseln.Validation rules for records are applied when you move to another record.

  • Bei der Erstellung von Gültigkeitsprüfungsregeln für ein Feld und ein an das Feld gebundenes Steuerelement werden beide Gültigkeitsprüfungsregeln angewendet, wenn Sie Daten bearbeiten und das Steuerelement den Fokus verliert.If you create validation rules for both a field and a control bound to the field, both validation rules are applied when you edit data and the focus leaves the control.

Die folgende Tabelle enthält Ausdrucksbeispiele für die Eigenschaften ValidationRule und ValidationText.The following table contains expression examples for the ValidationRule and ValidationText properties.


ValidationRule-EigenschaftValidationRule property ValidationText-EigenschaftValidationText property
<> 0 Der Eintrag muss ein Wert ungleich Null sein.Entry must be a nonzero value.
> 1000 Or Is Null Der Eintrag muss leer oder größer als 1000 sein.Entry must be blank or greater than 1000.
Like "A????" Der Eintrag muss 5 Zeichen lang sein und mit dem Buchstaben Abeginnen.Entry must be 5 characters and begin with the letter A.
>= #1/1/96# And <#1/1/97# Der Eintrag muss ein Datum in 1996 sein.Entry must be a date in 1996.
DLookup("CustomerID", "Customers", "CustomerID = Forms!Customers!CustomerID") Is Null Der Eintrag muss eine eindeutige Kunden-Nr. sein (Domänenaggregatfunktionen sind nur für die Überprüfung auf Formularebene zulässig).Entry must be a unique CustomerID (domain aggregate functions are allowed only for form-level validation).

Wenn Sie eine Validierungsregel für ein Feld erstellen, lässt Access normalerweise keinen Nullwert in dem Feld speichern.If you create a validation rule for a field, Access doesn't normally allow a Null value to be stored in the field. Wenn Sie einen null -Wert zulassen möchten, fügen "Is Null" Sie der Überprüfungsregel wie "<> 8 Or Is Null" in hinzu, und stellen Sie sicher, dass die Required -Eigenschaft auf Nein festgelegt ist.If you want to allow a Null value, add "Is Null" to the validation rule, as in "<> 8 Or Is Null" and make sure that the Required property is set to No.

Sie können keine Feld-oder Daten Satz Überprüfungsregeln für Tabellen festlegen, die außerhalb des Zugriffs erstellt wurden (beispielsweise dBASE, Paradox oder SQL Server).You can't set field or record validation rules for tables created outside Access (for example, dBASE, Paradox, or SQL Server). Bei derartigen Tabellen können Sie Gültigkeitsprüfungsregeln nur für Steuerelemente erstellen.For these kinds of tables, you can create validation rules for controls only.

BeispielExample

Das folgende Beispiel erstellt eine Gültigkeitsprüfungsregel für ein Feld, in das nur Werte über 65 eingegeben werden können.The following example creates a validation rule for a field that allows only values over 65 to be entered. Wenn eine Zahl kleiner als 65 eingegeben wurde, wird eine Meldung angezeigt.If a number less than 65 is entered, a message is displayed. Die Eigenschaften werden mithilfe der SetFieldValidation -Funktion festgelegt.The properties are set by using the SetFieldValidation function.

Dim strTblName As String, strFldName As String 
Dim strValidRule As String 
Dim strValidText As String, intX As Integer 
 
strTblName = "Customers" 
strFldName = "Age" 
strValidRule = ">= 65" 
strValidText = "Enter a number greater than or equal to 65." 
intX = SetFieldValidation(strTblName, strFldName, _ 
 strValidRule, strValidText) 
 
Function SetFieldValidation(strTblName As String, _ 
 strFldName As String, strValidRule As String, _ 
 strValidText As String) As Integer 
 
 Dim dbs As Database, tdf As TableDef, fld As Field 
 
 Set dbs = CurrentDb 
 Set tdf = dbs.TableDefs(strTblName) 
 Set fld = tdf.Fields(strFldName) 
 fld.ValidationRule = strValidRule 
 fld.ValidationText = strValidText 
End Function

Im folgenden Beispiel wird die SetTableValidation -Funktion verwendet, um die Validierung auf Datensatzebene festzulegen, **** um sicherzustellen, dass der Wert im Feld EndDate nach dem Wert im Feld StartDate steht.The following example uses the SetTableValidation function to set record-level validation to ensure that the value in the EndDate field comes after the value in the StartDate field.

Dim strTblName As String, strValidRule As String 
Dim strValidText As String 
Dim intX As Integer 
 
strTblName = "Employees" 
strValidRule = "EndDate > StartDate" 
strValidText = "Enter an EndDate that is later than the StartDate." 
intX = SetTableValidation(strTblName, strValidRule, strValidText) 
 
Function SetTableValidation(strTblName As String, _ 
 strValidRule As String, strValidText As String) _ 
 As Integer 
 
 Dim dbs As Database, tdf As TableDef 
 
 Set dbs = CurrentDb 
 Set tdf = dbs.TableDefs(strTblName) 
 tdf.ValidationRule = strValidRule 
 tdf.ValidationText = strValidText 
End Function

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.