Exclure, entièrement ou partiellement, un critère dans une requête Access

Nous avons vu dans l’un des tout premiers tutoriels Access et dans celui sur les expressions booléennes comment utiliser une requête Access pour filtrer les enregistrements d’une table :

  • Soit en utilisant le signe = (égal) pour n’afficher que les enregistrements dont le champ contient un mot ou une expression :

Requête Access

  • Soit en utilisant le signe > (supérieur à) ou < (inférieur à) ou >= (supérieur et égal à) ou <= (inférieur et égal à) pour, dans l’exemple que j’avais donné, n’afficher que les enregistrements dont la date était supérieure ou inférieure à la date indiquée en critère :

Requête Access et

Si vous souhaitez exclure un résultat d’une requête, la solution n’est surtout pas de lister chaque mot ou expression les uns en dessous des autres comme ici :

Deux critères requête Access

D’une part, la liste peut être longue et, d’autre part, dès que vous allez ajouter une nouvelle donnée possible pour le champ en question, il faudra modifier la requête à chaque fois, sinon, tous les nouveaux enregistrements avec un mot ou une expression différente seront exclus.

Vous trouverez dans l’Espace Membres la base de données utilisée dans ce tutoriel.

J’ouvre donc la base de données Clients, puis la requête Démarrage en Mode Création Mode création 2013. Dans cet exemple, je souhaite exclure les enregistrements dont la ville est Paris. Pour cela, je me place sur la ligne Critères pour le champ Ville et je saisis :

<> »Paris »

En exécutant la requête, j’ai bien tous les enregistrements sauf ceux dont le champ Ville contient Paris, car les deux signes accolés indiquent à Access différent de.

La même chose est possible en saisissant :

Pas « Paris »

Maintenant, si je souhaite exclure tout le département du Val d’Oise, dans le champ CP (code postal), je peux saisir :

Pas « 95* »

En exécutant la requête, j’ai bien tous les enregistrements sauf ceux dont le Code postal commence par 95, car l’étoile indique à Access de ne s’occuper que des champs commençant par 95, peu importe ce qui suit.

La même chose est possible en saisissant :

Pas Comme « 95* »

Sur la même logique, vous pouvez rechercher les enregistrements qui finissent par 20 par exemple en saisissant :

Pas *20 ou Pas Comme « *20 »

Bien sûr, on peut utiliser les 2 techniques pour indiquer à Access que l’on souhaite exclure tous les enregistrements contenant 51 par exemple en saisissant :

Pas *51* ou Pas Comme « *51* »

Dans ce cas, peu importe où se trouvera ce nombre dans le champ, l’enregistrement sera exclu.

Si vous souhaitez afficher les enregistrements contenant le critère, il suffit d’enlever Pas ou Pas Comme.

Téléchargez « Afficher les enregistrements ne répondant pas, entièrement ou partiellement, à un critère dans une requête Access » au format PDF

Je vous propose un fichier annexe dans l’Espace Membres contenant la base de données utilisée dans ce tutoriel.

Newsletter

6 commentaires

  1. Je ne retrouve plus le tuto correspondant au paramétrage d’une requête qui affiche le nom des villes suivant le département, pouvez-vous me renseigner ?
    Merci.

  2. Bonjour,

    Merci pour votre site plein d’astuces !

    Je n’ai pas encore trouvé de réponse à mon problème.
    (Access 2010) J’ai une colonne de code (5 caractères en tout) et je souhaite uniquement les enregistrements dont le code contient un zéro pour le 3e caractère.

    J’ai essayé :
    Comme "**0**"
    Comme "*0*"
    [0-9][0-9]0[0-9][0-9]
    [00-99]0[00-99]
    "##0##"
    [##0##]
    et rien ne fonctionne.
    Pouvez-vous m’aider ?
    Merci !

    Caroline

  3. Bonjour, l’exécution de ma requête a bien fonctionné, en mode affichage de la requête les champs 95 et Paris ont disparu. Par contre, aucun changement ne s’est fait dans ma table client, même après plusieurs exécutions de la requête.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

CAPTCHA
Change the CAPTCHA codeSpeak the CAPTCHA code