Tutoriel réalisé avec Access 2013
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 :
- 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 :
SOMMAIRE
L’exemple à ne pas reproduire
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 :
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, au bas de l’article, la base de données utilisée dans ce tutoriel.
Exclure entièrement un critère d’une requête
J’ouvre donc la base de données Clients, puis la requête Démarrage en Mode Création . 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"
Exclure partiellement un critère d’une requête
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.
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.
Avez-vous utilisé la recherche ? Car je ne vois pas précisément de quel tutoriel vous parlez.
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
Bonjour Caroline,
Malheureusement, il me semble qu’Access ne reconnaît pas le zéro, car avec les autres chiffres ça fonctionne.
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.
Bonjour,
Cette requête n’est pas destinée à modifier quelque chose dans la table.
Bonjour madame, j’ai un problème dans la réalisation de mes formulaires recherche multicritère : comment puis-je actualiser mon formulaire si je remplis un champ alors que les autres non ? Par exemple, j’ai trois champs SECTEUR / DATE DÉBUT / DATE FIN.
Je veux uniquement utiliser le champ secteur.
Bonjour Gislain,
Je ne comprends pas le lien avec la requête de l’article.