Table of contents
TOC
Réduire la table des matières
Développer la table des matières

ComboBox.ValidationRule, propriété (accès)ComboBox.ValidationRule Property (Access)

office 365 dev account|Dernière mise à jour: 14/03/2018
|
2 Collaborateurs

Vous pouvez utiliser la propriété ValideSi (ValidationRule) pour spécifier la configuration requise pour les données entrées dans un enregistrement, un champ ou un contrôle. Lorsque les données entrées violent le paramètre ValideSi (ValidationRule) , vous pouvez utiliser la propriété MessageSiErreur (ValidationText) pour spécifier le message à afficher à l’utilisateur. En lecture/écriture, chaîne.You can use the ValidationRule property to specify requirements for data entered into a record, field, or control. 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. Read/write String.

SyntaxeSyntax

expression. ValideSi (ValidationRule)expression. ValidationRule

expression Variable qui représente un objet ComboBox .expression A variable that represents a ComboBox object.

RemarquesRemarks

Tapez une expression comme valeur de la propriété ValidationRule et du texte comme valeur de la propriété ValidationText. La longueur maximale autorisée est 2 048 caractères pour la propriété ValidationRule et 255 caractères pour la propriété ValidationText.Enter an expression for the ValidationRule property setting and text for the ValidationText property setting. The maximum length for the ValidationRule property setting is 2048 characters. The maximum length for the ValidationText property setting is 255 characters.

Dans le cas des contrôles, vous pouvez affecter à la propriété ValidationRule n'importe quelle expression valide. Dans le cas des règles de validation des champs et des enregistrements, l'expression ne peut contenir de fonction définie par l'utilisateur, de fonction de domaine ou de fonction d'agrégation, la fonction Eval ou la méthode CurrentUser, ni des références à des formulaires, à des requêtes ou à des tables. Les règles de validation des champs ne peuvent pas non plus contenir de références à d'autres champs. Dans le cas des enregistrements, les expressions peuvent contenir des références à d'autres champs de la table en question.For controls, you can set the ValidationRule property to any valid expression. For field and record validation rules, the expression can't contain user-defined functions, domain aggregate or aggregate functions, the Eval function, or CurrentUser method, or references to forms, queries, or tables. In addition, field validation rules can't contain references to other fields. For records, expressions can include references to fields in that table.

Dans le cas de champs et d'enregistrements de tables, vous pouvez aussi définir ces propriétés en Visual Basic en utilisant la propriété ValidationRule DAO.For table fields and records, you can also set these properties in Visual Basic by using the DAO ValidationRule property.

Microsoft Access valide automatiquement les valeurs basées sur le type de données d'un champ ; par exemple, Microsoft Access n'accepte pas de texte dans un champ numérique. Vous pouvez définir des règles plus spécifiques en utilisant la propriété ValidationRule.Microsoft Access automatically validates values based on a field's data type; for example, Microsoft Access doesn't allow text in a numeric field. You can set rules that are more specific by using the ValidationRule property.

Si vous définissez la propriété ValidationRule sans définir la propriété ValidationText, Microsoft Access affiche un message d'erreur standard, qui apparaît dès que la règle de validation est transgressée. Si vous définissez la propriété ValidationText, le texte que vous entrez est affiché comme message d'erreur.If you set the ValidationRule property but not the ValidationText property, Microsoft Access displays a standard error message when the validation rule is violated. If you set the ValidationText property, the text you enter is displayed as the error message.

Par exemple, lorsque vous ajoutez un enregistrement correspondant à un nouvel employé, vous entrez une propriété ValidationRule (ValideSi) qui exige que la valeur du champ Date d'embauche de l'employé soit comprise entre la date de fondation de la société et la date actuelle. Si ce n'est pas le cas, vous pouvez afficher le message de la propriété ValidationText (MessageSiErreur) : « Date d'embauche incorrecte ».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. If the date entered isn't in this range, you can display the ValidationText property message: "Start date is incorrect."

Si vous créez un contrôle en faisant glisser un champ à partir de la liste des champs, il hérite de la règle de validation du champ même si cette dernière n'apparaît pas dans la zone de propriété ValidationRule de la feuille des propriétés du contrôle. En effet, une règle de validation d'un champ est héritée par un contrôle lié à ce champ.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 in the property sheet. This is because a field's validation rule is inherited by a control bound to that field.

Les règles de validation des contrôles, des champs et des enregistrements sont appliquées comme suit :Control, field, and record validation rules are applied as follows:

  • Les règles de validation définies pour les champs et les contrôles sont appliquées lorsque vous modifiez les données et que le focus quitte le champ ou le contrôle.Validation rules you set for fields and controls are applied when you edit the data and the focus leaves the field or control.

  • Les règles de validation définies pour les enregistrements sont appliquées lorsque vous déplacez l'enregistrement vers un autre enregistrement.Validation rules for records are applied when you move to another record.

  • Si vous créez des règles de validation qui s'appliquent à la fois à un champ et à un contrôle lié au champ, les deux règles de validation sont appliquées lorsque vous modifiez les données et que le focus quitte le contrôle.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.

Le tableau suivant contient des exemples d'expressions pour les propriétés ValidationRule (ValideSi) et ValidationText (MessageSiErreur).The following table contains expression examples for the ValidationRule and ValidationText properties.

ValidationRule (ValideSi)ValidationRule propertyValidationText (MessageSiErreur)ValidationText property
<> 0<> 0L'entrée doit avoir une valeur différente de zéro.Entry must be a nonzero value.
> 1000 Ou Est Null> 1000 Or Is NullL'entrée doit être vide ou supérieure à 1000.Entry must be blank or greater than 1000.
Comme "A????"Like "A????"L'entrée doit comporter 5 caractères et commencer par la lettre « A ».Entry must be 5 characters and begin with the letter "A".
>= #1/1/96# Et <#1/1/97#>= #1/1/96# And <#1/1/97#L'entrée doit dater de 1996.Entry must be a date in 1996.
DLookup("CodeClient", "Clients", "CodeClient = Formulaires!Clients!CodeClient") Est NullDLookup("CustomerID", "Customers", "CustomerID = Forms!Customers!CustomerID") Is NullL'entrée doit être un CodeClient unique (les fonctions d'agrégation de domaine sont uniquement autorisées pour la validation au niveau du formulaire).Entry must be a unique CustomerID (domain aggregate functions are allowed only for form-level validation).

Si vous créez une règle de validation d'un champ, normalement, Microsoft Access n'accepte pas qu'une valeur Null soit enregistrée dans ce champ. Pour permettre la saisie d'une valeur Null, ajoutez « Est Null » à la règle de validation, comme c'est le cas dans « <> 8 Ou Est Null », et vérifiez que le paramètre Non est attribué à la propriété Required.If you create a validation rule for a field, Microsoft Access doesn't normally allow a Null value to be stored in the field. If you want to allow a Null value, add "Is Null" to the validation rule, as in "<> 8 Or Is Null" and make sure the Required property is set to No.

Il est impossible de définir des règles de validation pour des champs ou des enregistrements créés en dehors de Microsoft Access (dans dBASE, Paradox et SQL Server, par exemple). Vous pouvez uniquement définir des règles de validation de contrôle pour ces tables.You can't set field or record validation rules for tables created outside Microsoft Access (for example, dBASE, Paradox, or SQL Server). For these kinds of tables, you can create validation rules for controls only.

ExempleExample

L'exemple suivant crée une règle de validation pour un champ qui ne permet que la saisie de valeurs supérieures à 65. Si un nombre inférieur à 65 est entré, un message est affiché. Les propriétés sont définies à l'aide de la fonction SetFieldValidation.The following example creates a validation rule for a field that allows only values over 65 to be entered. If a number less than 65 is entered, a message is displayed. 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

L'exemple suivant fait appel à la fonction SetTableValidation qui définit une validation au niveau des enregistrements pour s'assurer que la valeur du champ EndDate(DateFin) vient après la valeur du champ StartDate (DateDébut).The next 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

Voir aussiSee also

ConceptsConcepts

Objet ComboBoxComboBox Object

© 2018 Microsoft