Restreindre l’entrée de données à l’aide d’une règle de validation

Restreindre l’entrée de données à l’aide d’une règle de validation

Vous pouvez analyser ou valider les données entrées dans des bases de données Access de bureau à l’aide de règles de validation. Access prend en charge trois types de règles de validation :

  • Règle de validation de champ   Vous pouvez utiliser une règle de validation pour spécifier un critère à respecter par toutes les valeurs de champ valides. Par exemple, un champ de date peut comporter une règle de validation qui interdit les valeurs antérieures à la date du jour.

  • Règle de validation d’enregistrement   Vous pouvez utiliser une règle de validation pour spécifier une condition à respecter par tous les enregistrements valides. Par exemple, un enregistrement comportant deux champs de date peut exiger que les valeurs d’un champ précèdent toujours celles de l’autre champ (ex : DateDébut avant DateFin).

  • Validation sur un formulaire   Vous pouvez utiliser la propriété Valide si d’un contrôle figurant sur un formulaire pour spécifier un critère à respecter par toutes les entrées de valeurs associées à ce contrôle. La propriété de contrôle Valide si fonctionne comme une règle de validation de champ.

    Remarque :  Cet article ne s’applique pas aux applications Access Web App (type de base de données que vous créez dans Access et publiez en ligne).

Contenu de cet article

Vue d’ensemble

Types de règles de validation

Où utiliser des règles de validation ?

Contenu d’une règle de validation

Ajouter une règle de validation à une table

Créer une règle de validation de champ

Créer un message à afficher pour une entrée de champ non valide

Créer une règle de validation d’enregistrement

Créer un message à afficher pour une entrée d’enregistrement non valide

Tester des données existantes par rapport à une nouvelle règle de validation

Ajouter une règle de validation à un contrôle figurant sur un formulaire

Créer une règle de validation pour un contrôle

Référence aux règles de validation

Exemples de règle de validation et de texte de validation

Exemples de syntaxe pour les opérateurs de règle de validation courants

Utiliser des caractères génériques dans les règles de validation

Présentation

Cet article explique comment utiliser les règles de validation et le texte de validation dans les champs de table et les contrôles de formulaire. Une règle de validation est l’un des moyens permettant de restreindre la saisie dans un champ de table ou un contrôle de formulaire (une zone de texte par exemple). Le texte de validation vous laisse indiquer un message à l’attention des utilisateurs qui entrent des données non valides.

Quand les données sont entrées, Access vérifie si l’entrée altère une règle de validation. Si c’est le cas, l’entrée est rejetée et Access affiche un message.

Access propose plusieurs moyens de restreindre la saisie :

  • Types de données   Chaque champ de table est associé à un type de données spécifique. Par exemple, un champ Date/Heure accepte uniquement les dates et les heures, un champ Devise accepte uniquement les données monétaires, etc.

  • Propriétés de champ   Certaines propriétés de champ restreignent la saisie de données. Par exemple, la propriété Taille du champ restreint la saisie en limitant la quantité de données.

    Vous pouvez également utiliser la propriété Valide si pour exiger des valeurs spécifiques et la propriété Message si erreur pour avertir vos utilisateurs d’éventuelles erreurs. Par exemple, si vous entrez une règle telle que >100 Et <1000 dans la propriété Valide si, les utilisateurs sont obligés d’entrer des valeurs comprises entre 100 et 1 000. Une règle telle que [DateFin]>=[DateDébut] oblige les utilisateurs à entrer une date de fin identique ou postérieure à la date de début. Si vous entrez le texte « Entrer des valeurs comprises entre 100 et 1 000 » ou « Entrer une date de fin identique ou postérieure à la date de début » dans la propriété Message si erreur, les utilisateurs savent quand ils ont commis une erreur et comment la résoudre.

  • Masques de saisie   Vous pouvez utiliser un masque de saisie pour valider des données en obligeant les utilisateurs à entrer des valeurs d’une façon spécifique. Par exemple, un masque de saisie peut obliger les utilisateurs à entrer des dates au format européen, tel que 2007.04.14.

Vous pouvez utiliser ces méthodes de validation des données de manière autonome ou les combiner. Les types de données ne sont pas facultatifs et représentent le type de validation de données le plus basique.

Pour plus d’informations sur les types de données, les tailles de champ et les masques de saisie, consultez l’article Présentation des types de données et des propriétés de champ.

Types de règles de validation

Vous pouvez créer deux principaux types de règles de validation :

  • Règles de validation de champ   Utilisez une règle de validation de champ pour vérifier la valeur entrée dans un champ lorsque vous le quittez. Imaginons, par exemple, que vous ayez un champ Date et que vous entriez >=#01/01/2010# dans la propriété Valide si de ce champ. Cette règle exige des utilisateurs la saisie de dates identiques ou postérieures au 1 janvier 2010. S’ils entrent une date antérieure à 2010 et qu’ils tentent d’activer un autre champ, Access les empêche de quitter le champ actif tant que le problème n’a pas été résolu.

  • Règles de validation d’enregistrement   Utilisez une règle de validation d’enregistrement pour contrôler la sauvegarde d’un enregistrement (ligne d’une table). Contrairement aux règles de validation de champ, les règles de validation d’enregistrement se rapportent à d’autres champs de la même table. Ces règles peuvent être créées pour comparer les valeurs d’un champ avec celles d’un autre. Imaginons, par exemple, que votre entreprise vous demande de livrer des produits sous 30 jours. Si la livraison n’intervient pas à temps, vous devrez rembourser une partie du prix d’achat à votre client. Vous pouvez définir une règle de validation d’enregistrement, telle que [DateRequise]<=[DateCommande]+30, pour veiller à ce que personne n’entre une date de livraison trop tardive (valeur du champ DateRequise).

Pour mieux comprendre la syntaxe relative aux règles de validation, voir la section Contenu d’une règle de validation, pour une explication avec quelques exemples à l’appui.

Où utiliser des règles de validation

Vous pouvez définir des règles de validation pour des champs de table et des contrôles dans des formulaires. Les règles, que vous définissez pour des tables, s’appliquent lorsque vous importez des données. Pour ajouter des règles de validation à une table, ouvrez-la et utilisez les commandes sous l’onglet Champs du ruban. Pour ajouter des règles de validation à un formulaire, ouvrez-le en mode Page et ajoutez les règles aux propriétés des contrôles.

Les procédures de la section Ajouter une règle de validation à une table expliquent comment ajouter des règles de validation aux champs de table. Les procédures de la section Ajouter une règle de validation à un contrôle sur un formulaire, voir plus loin dans cet article, expliquent comment ajouter des règles aux propriétés dans les contrôles.

Contenu d’une règle de validation

Vos règles de validation peuvent comprendre des expressions, c’est-à-dire des fonctions renvoyant une valeur unique. Vous pouvez utiliser une expression pour effectuer des calculs, manipuler des caractères ou tester des données. Une expression de règle de validation teste les données. Par exemple, une expression peut rechercher une valeur dans un ensemble tel que "Tokyo" Ou "Moscou" Ou "Paris" Ou "Helsinki". Les expressions peuvent également effectuer des opérations mathématiques. Par exemple, l’expression <100 oblige les utilisateurs à entrer des valeurs inférieures à 100. L’expression ([DateCommande] - [DateLivraison]) calcule le nombre de jours écoulés entre la date à laquelle une commande a été passée et la date de livraison.

Pour plus d’informations sur les expressions, consultez l’article Créer une expression.

Haut de page

Ajouter une règle de validation à une table

Vous pouvez ajouter une règle de validation de champ et/ou d’enregistrement. Une règle de validation de champ vérifie la saisie d’un champ et s’applique lorsque le champ n’est plus actif. Une règle de validation d’enregistrement vérifie la saisie d’un ou plusieurs champs et s’applique lorsque l’enregistrement n’est plus actif. En règle générale, une règle de validation d’enregistrement compare les valeurs d’au moins deux enregistrements.

Remarques :  Les types de champ suivants ne prennent pas en charge les règles de validation :

  • NuméroAuto

  • Objet OLE

  • Pièce jointe

  • N° réplication

Créer une règle de validation de champ

  1. Sélectionnez le champ à valider.

  2. Sous l’onglet Champs, dans le groupe Validation de champ, cliquez sur Validation, puis sur Règle de validation de champ.

  3. Utilisez le Générateur d’expression pour créer la règle. Pour plus d’informations sur l’utilisation du Générateur d’expression, voir l’articleUtiliser le Générateur d’expression.

Créer un message à afficher pour une entrée de champ non valide

  1. Sélectionnez le champ sur lequel un message d’entrée non valide est nécessaire. Le champ doit déjà comporter une règle de validation.

  2. Sous l’onglet Champs, dans le groupe Validation de champ, cliquez sur Validation, puis sur Message de validation de champ.

  3. Entrez un message approprié. Par exemple, si la règle de validation est >10, lemessage peut indiquer « Entrez une valeur inférieure à 10 ».

Pour obtenir d’autres exemples de règles et de messages de validation de champ, consultez la section Référence aux règles de validation.

Créer une règle de validation d’enregistrement

  1. Ouvrez la table dont vous souhaitez valider les enregistrements.

  2. Sous l’onglet Champs, dans le groupe Validation de champ, cliquez sur Validation, puis sur Règle de validation d’enregistrement.

  3. Utilisez le Générateur d’expression pour créer la règle. Pour plus d’informations sur l’utilisation du Générateur d’expression, voir l’articleUtiliser le Générateur d’expression.

Créer un message à afficher pour une entrée d’enregistrement non valide

  1. Ouvrez la table sur laquelle un message d’entrée non valide est nécessaire. La table doit déjà comporter une règle de validation d’enregistrement.

  2. Sous l’onglet Champs, dans le groupe Validation de champ, cliquez sur Validation, puis sur Message de validation d’enregistrement.

  3. Entrez un message approprié. Par exemple, si la règle de validation est [DateDébut]<[DateFin], lemessage peut indiquer « DateDébut doit être antérieure à DateFin ».

Haut de page

Tester des données existantes par rapport à une nouvelle règle de validation

Si vous ajoutez une règle de validation à une table existante, vous pouvez essayer de tester la règle pour vérifier la validité des données existantes.

Remarque :  La procédure suivante s’applique uniquement aux tables des bases de données de bureau.

  1. Ouvrez la table à tester en mode Création.

    Sous l’onglet Créer, dans le groupe Outils, cliquez sur Tester les règles de validation.

  2. Cliquez sur Oui pour fermer le message d’alerte et démarrer le test.

  3. Si le système vous invite à enregistrer votre table, cliquez sur Oui.

  4. Il est probable que vous receviez plusieurs messages d’alerte. Lisez les instructions de chaque message, puis cliquez sur Oui ou Non, le cas échéant, pour effectuer ou interrompre le test.

Haut de page

Ajouter une règle de validation à un contrôle figurant sur un formulaire

Vous pouvez utiliser la propriété Valide si et la propriété Message si erreur d’un contrôle figurant sur un formulaire pour valider les données qui y sont entrées et pour aider les utilisateurs qui y entrent des données non valides.

Conseil :  Si vous créez un formulaire automatiquement à partir d’une table à l’aide de l’une des commandes de formulaire du ruban, toute validation de champ dans la table sous-jacente est héritée par les contrôles correspondants sur le formulaire.

Un contrôle peut avoir une autre règle de validation que le champ de table dont il dépend, ce qui est utile si vous voulez que le formulaire soit plus restrictif que la table. La règle de formulaire est appliquée, puis la règle de table. Si la table est plus restrictive que le formulaire, la règle définie pour le champ de table est prioritaire. Si les règles sont mutuellement exclusives, elles vous empêchent toute saisie de données.

Imaginons, par exemple, que vous appliquiez la règle suivante à un champ de date dans une table :

<#01/01/2010#

Cependant, vous appliquez ensuite cette règle au contrôle de formulaire lié au champ de date :

>=#01/01/2010#

Des valeurs antérieures à 2010 sont dorénavant requises dans le champ de date, mais le contrôle de formulaire vous oblige à entrer des dates postérieures à l’année en cours, empêchant ainsi toute saisie de données.

Créer une règle de validation pour un contrôle

  1. Cliquez avec le bouton droit sur le formulaire à modifier, puis cliquez sur Mode Page.

  2. Cliquez avec le bouton droit sur le contrôle à modifier, puis cliquez sur Propriétés pour ouvrir la feuille de propriétés de ce contrôle.

  3. Cliquez sur l’onglet Tous, puis entrez votre règle de validation dans la zone de propriété Règle de validation.

    Conseil :  Cliquez sur le bouton Créer pour démarrer le Générateur d’expression.

    Pour plus d’informations sur l’utilisation du Générateur d’expressions, consultez l’article Utiliser le Générateur d’expressions.

  4. Entrez un message dans la zone de propriété Message si erreur.

Haut de page

Référence aux règles de validation

Les règles de validation utilisent la syntaxe d’expression d’Access. Pour plus d’informations sur les expressions, consultez l’article Présentation des expressions.

Exemples de règle de validation et de texte de validation

Règle de validation

Texte de validation

<>0

Entrez une valeur non nulle.

>=0

La valeur doit être supérieure ou égale à zéro.

-ou-

Vous devez entrer un nombre positif.

0 ou >100

La valeur doit être égale à 0 ou supérieure à 100.

ENTRE 0 ET 1

Entrez une valeur avec un signe de pourcentage. (À utiliser avec un champ qui stocke des valeurs numériques sous forme de pourcentages).

<#01/01/2007#

Entrez une date antérieure à 2007.

>=#01/01/2007# AND <#01/01/2008#

La date doit être en 2007.

<Date()

La date de naissance ne peut pas être à une date ultérieure.

StrComp(UCase([NomFamille]),
[NomFamille],0) = 0

Les données du champ Nom doivent être en majuscules.

>=Ent(Maintenant())

Entrez la date du jour.

H ou F

Entrez H pour homme et F pour femme.

COMME "[A-Z]*@[A-Z].com" OU "[A-Z]*@[A-Z].net" OU "[A-Z]*@[A-Z].org"

Entrez une adresse de messagerie .com, .net ou .org.

[DateRequise]<=[DateCommande]+30

Entrez une date requise dont l’échéance est de 30 jours maximum à compter de la date de commande.

[DateFin]>=[DateDébut]

Entrez une date de fin identique ou postérieure à la date de début.

Exemples de syntaxe pour les opérateurs de règle de validation courants

Opérateur

Fonction

Exemple

NON

Teste les valeurs inverses. À utiliser avant les opérateurs de comparaison sauf EST PAS NULL.

PAS > 10 (identique à <=10).

DANS

Teste les valeurs égales aux membres existants dans une liste. La valeur de comparaison doit être une liste séparée par une virgule, entre parenthèses.

DANS ("Tokyo","Paris","Moscou")

ENTRE

Teste une plage de valeurs. Vous devez utiliser deux valeurs de comparaison, inférieure et supérieure, et vous devez les séparer avec l’opérateur ET.

ENTRE 100 ET 1000 (identique à >=100 ET <=1000)

COMME

Fait correspondre les chaînes modèles dans les champs Texte et Mémo.

COMME "Geo*"

EST PAS NULL

Oblige les utilisateurs à entrer des valeurs dans ce champ. Ceci équivaut à définir la propriété Required sur Oui. Cependant, lorsque vous activez la propriété Required et qu’un utilisateur ne réussit pas à entrer de valeur, Access affiche un message d’erreur au ton quelque peu abrupt. En règle générale, vous trouverez l’utilisation de votre base de données plus facile si vous utilisez l’opérateur EST PAS NULL et que vous entrez un message amical dans la propriété Texte de validation.

EST PAS NULL

ET

Spécifie que toutes les parties de la règle de validation doivent être vraies.

>= #01/01/2007# ET <=#03/06/2008#

Remarque :  Vous pouvez également utiliser ET pour combiner les règles de validation. Par exemple : PAS "R-U" ET COMME "U*".

OU

Spécifie qu’une partie seulement des parties de la règle de validation doit être vraie.

Janvier OU février

<

Inférieur à.

<=

Inférieur ou égal à.

>

Supérieur à.

>=

Supérieur ou égal à.

=

Égal à.

<>

Différent de.

Utiliser les caractères génériques dans des règles de validation

Vous pouvez utiliser des caractères génériques dans vos règles de validation. N’oubliez pas qu’Access prend en charge deux jeux de caractères génériques : ANSI-89 et ANSI-92. Ces deux normes utilisent un jeu de caractères génériques différents.

Par défaut, tous les fichiers .accdb et .mdb utilisent la norme ANSI-89.

Vous pouvez passer de la norme ANSI standard pour une base de données à la norme ANSI-92 en procédant comme suit :

  1. Sous l’onglet Fichier, cliquez sur Options.

  2. Dans la boîte de dialogue Options Access, cliquez sur Concepteurs d’objets.

  3. Dans la section Création de requête, sous Syntaxe compatible SQL Server (ANSI-92), sélectionnez Cette base de données.

Pour plus d’informations sur l’utilisation des caractères génériques et les normes ANSI pour le langage SQL, consultez l’article Référence aux caractères génériques Access.

Haut de page

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×