Magazine Informatique

Créer une expression conditionnelle avec Access (expression booléenne)

Publié le 01 août 2013 par Lydia Provin @Votreassistante

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

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.

Message si erreur table Access

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 :

Pas de message si erreur table Access

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

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

Exécuter
. Vous avez maintenant un nouveau champ nommé Expr1 que vous pouvez renommer Action en Mode création
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

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

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
Feuille de propriétés 2013
 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

Feuille de propriétés 2013
 et passer en Mode formulaire
Mode formulaire 2013
. Cliquez sur
Créer un nouvel enregistrement formulaire
 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.

Message si erreur formulaire Access

Ici aussi, vous n’êtes pas obligé de saisir un message d’erreur, à la place, vous aurez ce message :

Pas de message si erreur formulaire Access

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.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Lydia Provin 1007 partages Voir son profil
Voir son blog