Une expression conditionnelle sur Access (ou expression booléenne) analyse un élément s’il est VRAI ou FAUX et renvoie un résultat.
Une expression conditionnelle peut être appliquée à une table, une requête ou à un formulaire.
Pour ce tutoriel, vous retrouverez la base de données utilisée dans l’Espace membres.
Créer une expression conditionnelle sur une table Access :
Pour cet exemple, nous souhaiterions que la Date de démarrage saisie ne puisse pas être antérieure au 1er janvier 2013. Pour cela, ouvrez la Table Clients et passez en Mode création. Placez-vous sur le champ Date de démarrage et, dans les Propriétés du champ, à l’onglet Général, à la ligne Valide si, saisissez cette expression :
>=#01/01/2013#
À la ligne suivante, Message si erreur, indiquez le message à afficher dans la fenêtre qui apparaîtra en cas de saisie d’une date antérieure :
La date doit être ultérieure au 1er janvier 2013.
Passez en Mode feuille de données
en acceptant d’enregistrer la table.Créez un nouvel enregistrement avec une date ultérieure au 1er janvier 2013.
La date est bien supérieure à la condition : vous n’avez pas de message d’erreur.
Maintenant, créez un nouvel enregistrement avec une date antérieure au 1er janvier 2013.
Un message apparaît et vous empêchera de passer à un autre champ ou d’enregistrer cet enregistrement tant que le problème ne sera pas résolu.
Vous n’êtes pas obligé de saisir un message d’erreur, mais c’est plus agréable d’avoir un message clair et net sur la raison pour laquelle le champ n’est pas correct, plutôt que d’avoir ce message :
Créer une expression conditionnelle sur une requête Access :
Pour cela, ouvrez la Requête État du dossier et allez dans le Mode création
. Placez-vous sur un champ vide et indiquez l’expression suivante :=VraiFaux([Etat du dossier] = « Validé » ; « Peut être contacté(e) par un commercial » ; « Ne pas contacter »)
À noter que cette expression fonctionne un peu comme la formule SI d’Excel (si, alors, sinon) :
- État du dossier correspond au nom du champ comportant l’information nécessaire à l’expression conditionnelle.
- Validé correspond à la valeur si vraie.
- Peut être contacté(e) par un commercial correspond à ce qu’il y aura écrit dans le champ si la valeur est vraie.
- Ne pas contacter correspond à ce qu’il y aura écrit si la valeur est différente de la valeur si vraie.
Assurez-vous que la case Afficher est cochée et cliquez ensuite sur Exécuter
. Vous avez maintenant un nouveau champ nommé Expr1 que vous pouvez renommer Action en Mode création en remplaçant simplement Expr1 par action.Ceci est un exemple simple mais, selon vos besoins, l’expression pourra être plus ou moins complexe.
Si par exemple, je souhaite accorder une remise à des clients dont le montant HT est supérieur à 500 €.
J’ouvre la Requête Remise en Mode création
et l’expression devra être la suivante, sachant que le champ Remise accordable est un champ calculé dans la Table Factures :VraiFaux([Total HT]>=500;[Total HT]+[TVA]-[Remise accordable];VraiFaux([Total HT]<499,99;[Total HT]+[TVA]))
Dans ce cas, le nouveau champ, que l’on peut renommer Total TTC, sera l’addition du Total HT, de la TVA et de la Remise si le Total HT est de 500 € ou plus, sinon, le calcul sera le Total HT + la TVA.
Il est important de ne pas mettre le même montant dans les 2 « morceaux » d’expression et de bien placer les signes plus grand que (>) ou plus petit que (<) car vous risqueriez d’obtenir un champ vide si le montant est de 500 € pile.
Créer une expression conditionnelle sur un formulaire Access :
Une expression conditionnelle dans un formulaire fonctionne un peu comme une expression dans une table.
Ouvrez le Formulaire Clients, passez en Mode création et placez-vous sur le contrôle de la Date de démarrage, c’est-à-dire le cadre contenant la date de démarrage d’un client. Cliquez sur Feuille de propriétés et, dans l’onglet Données (mais également accessible par l’onglet Toutes), saisissez, à la ligne Valide si, l’expression suivante :
>=#01/01/2013#
À la ligne suivante, Message si erreur, indiquez le message à afficher dans la fenêtre qui apparaîtra en cas de saisie de date antérieure :
La date doit être ultérieure au 1er janvier 2013.
Vous pouvez refermer la Feuille de propriétés
et passer en Mode formulaire . Cliquez sur pour créer un nouvel enregistrement et entrez une date ultérieure au 1er janvier 2013.La date est bien supérieure à la condition : vous n’avez pas de message d’erreur.
Maintenant, créez un nouvel enregistrement avec une date antérieure au 1er janvier 2013.
Un message apparaît et vous empêchera de passer à un autre champ ou d’enregistrer cet enregistrement tant que le problème ne sera pas résolu.
Ici aussi, vous n’êtes pas obligé de saisir un message d’erreur, à la place, vous aurez ce message :
Téléchargez « Créer une expression conditionnelle avec Access (expression booléenne) » au format PDF
Je vous propose un fichier annexe dans l’Espace Membres contenant la base de données utilisée dans ce tutoriel.