Appliquer un filtre pour afficher des enregistrements spécifiques dans une base de données Access
Le filtrage permet de n’afficher que les données que vous souhaitez afficher dans les bases de données Access. Vous pouvez utiliser des filtres pour afficher des enregistrements spécifiques dans un formulaire, un état, une requête ou une feuille de données, ou pour imprimer uniquement certains enregistrements d’un état, d’une table ou d’une requête. En appliquant un filtre, vous pouvez limiter les données d’une vue sans modifier la conception de l’objet sous-jacent.
Comment les filtres sont utiles
Étant donné que l’affichage que vous obtenez après avoir appliqué un filtre contient uniquement les enregistrements contenant les valeurs que vous avez sélectionnées, le reste des données reste masqué jusqu’à ce que vous désélectionniez le filtre.
Remarque : Les colonnes dans les feuilles de données et les contrôles des formulaires et états liés à des expressions ne supportent pas le filtrage.
Il existe plusieurs types de filtres, dont certains sont faciles à appliquer et à supprimer. Access contient des filtres courants qui sont intégrés à chaque affichage. La disponibilité des commandes de filtre dépend du type et des valeurs du champ.
Par exemple, pour afficher les enregistrements des personnes dont les anniversaires tombent pendant un mois donné, cliquez sur la colonne Date Naissance, sous l’onglet Accueil du groupe Trier & Filtrer, cliquez sur Filtres de dates, puis sélectionnez la période de date requise.
1. Les filtres disponibles dépendent du type de données dans la colonne sélectionnée.
2. Toutes les dates du filtre Période ignorent la partie jour et année des valeurs de date.
Dans cette vue filtrée, vous ne voyez que les enregistrements dans lesquels la partie mois du champ Date BirthDate est définie sur Avril.
1. L’icône de filtre dans l’en-tête de colonne et la barre du navigateur d’enregistrement indiquent que l’affichage actuel est filtré sur la colonne BirthDate.
2. En affichage Feuille de données, lorsque vous placez le curseur de la souris sur l’en-tête de colonne, vous voyez le critère de filtre actuel.
Remarque : Lorsque vous appliquez un filtre à une colonne déjà filtrée, le filtre précédent est automatiquement supprimé. Si un seul filtre peut être en vigueur pour un champ à la fois, vous pouvez spécifier un filtre différent pour chaque champ de la vue.
Par exemple, pour voir les noms des contacts qui habitent au Royaume-Uni et dont les anniversaires tombent en avril, vous pouvez filtrer la table Contacts sur le champ PaysRégion et sur le champ Date BirthDate. Lorsque vous filtrez plusieurs champs dans une seule vue, les filtres sont combinés à l’aide de l’opérateur ET, comme ceci :
PaysRégion = R-U ET mois de Date Naissance = Avril
Pour revenir au affichage non filtré : supprimez les filtres. La suppression temporaire d’un filtre le supprime de l’affichage, de sorte que vous pouvez revenir à l’affichage d’origine non filtré.
Pour basculer entre les affichages filtrés et non filtrés : dans le groupe Trier & de l’onglet Accueil, cliquez sur Basculer le filtre.
Pour supprimer définitivement un filtre d’un affichage : effacer le filtre.
Les paramètres de filtre restent en vigueur jusqu’à ce que vous fermez l’objet, même si vous basculez vers un autre affichage de l’objet. En d’autres termes, si vous filtrez un formulaire en mode Feuille de données, les paramètres de filtre restent en vigueur même si vous basculez en mode Formulaire ou en mode Page, et restent en vigueur jusqu’à ce que vous fermez le formulaire. Si vous enregistrez l’objet alors que le filtre est appliqué, il sera disponible la prochaine fois que vous ouvrirez l’objet.
Sélectionner et appliquer un type de filtre
Un type de données peut être sélectionné parmi plusieurs filtres prêts à l’emploi. Ces filtres sont disponibles sous forme de commandes de menu dans les affichages suivants : Feuille de données, Formulaire, État et Disposition. En plus de ces filtres, vous pouvez filtrer un formulaire ou une feuille de données en complétant un formulaire (appelé Filtrer par formulaire).
Pour plus de flexibilité et si vous êtes à l’aise avec la rédaction des expressions, vous pouvez créer vos propres filtres à l’aide des options de l’onglet Filtrer le document.
Sélectionnez l’un des types de filtres suivants :
Filtres courants : filtrer des valeurs spécifiques ou une plage de valeurs.
Filtrer par sélection : pour filtrer toutes les lignes d’une table qui contiennent une valeur qui correspond à une valeur sélectionnée dans une ligne en filtrant le vue Feuille de données.
Filtrer par formulaire : pour filtrer plusieurs champs d’un formulaire ou d’une feuille de données, ou si vous recherchez un enregistrement spécifique.
Filtre avancé : pour le type de filtre dans lequel vous définissez des critères de filtre personnalisés.
Remarque : Si les commandes de filtre n’entrent dans aucun des affichages, il se peut que le concepteur du formulaire ou de la base de données a désactivé le filtrage. Pour obtenir de l’aide, contactez le concepteur.
Filtres courants
À l’exception des champs et champs d’objets OLE qui affichent des valeurs calculées, tous les types de champs offrent des filtres communs. La liste des filtres disponibles dépend du type de données et des valeurs du champ sélectionné.
Cliquez avec le bouton droit sur le champ à filtrer. Pour filtrer sur plusieurs colonnes ou contrôles, vous devez sélectionner et filtrer chaque colonne ou contrôle séparément, ou utiliser une option de filtre avancé.
Par exemple, pour voir les filtres disponibles pour le champ BirthDate, sous l’onglet Accueil, dans le groupe Trier & filtrer, cliquez sur Filtrer :
1. Pour filtrer des valeurs spécifiques, utilisez la liste des case à cocher. La liste affiche toutes les valeurs actuellement affichées dans le champ.
2. Pour filtrer une plage de valeurs, cliquez sur l’un de ces filtres et spécifiez les valeurs requises. Par exemple, pour voir les anniversaires s’écartant de la date actuelle et de la fin de l’année, cliquez sur Entre, puis spécifiez les dates de début et de fin appropriées dans la boîte de dialogue Entre. Pour afficher tous les anniversaires tombent à une date spécifique, cliquez sur la date pour afficher tous les anniversaires tombent à cette date spécifique.
Il est important de noter que les valeurs d’un champ de date ont un impact sur la liste des filtres spécifiques au type. Si la valeur de date la plus récente d’un champ de date tombe au cours des deux dernières années, une liste de filtres plus longue et plus détaillée s’agit. Si aucune des dates d’un champ n’a moins de deux ans, la liste de filtres la plus courte est courte.
Remarque : Les filtres spécifiques au type ne sont pas disponibles pour les champs Oui/Non, Objets OLE et Pièces jointes. La liste de valeurs n’est pas disponible pour les champs de mémo ou les champs contenant du texte enrichi.
Appliquer un filtre commun
- Ouvrez une table, une requête, un formulaire ou un état dans l’un des affichages suivants : Feuille de données, Formulaire, État ou Disposition.
- Assurez-vous que l’affichage n’est pas déjà filtré. Dans la barre du sélecteur d’enregistrement, vérifiez que l’icône Non filtrée ou Grisée n’est pas présente.
Conseil : Pour supprimer tous les filtres d’un objet particulier, sous l’onglet Accueil, dans le groupe Trier & filtre, cliquez sur Avancé, puis sur Effacer tous les filtres.
- Cliquez n’importe où dans la colonne ou le contrôle correspondant au premier champ à filtrer, puis sous l’onglet Accueil, dans le groupe Trier & filtrer, cliquez sur Filtrer
Pour appliquer un filtre commun : pointez sur les filtres Texte (ou Nombre ou Date), puis cliquez sur le filtre de votre souhaitez. Des filtres tels que Égal et Entre vous invitent à entrer les valeurs nécessaires.
Conseil : Certains caractères, tels que *, %et ?, ont une signification particulière lorsqu’ils sont spécifiés dans une zone de texte de filtre. Par exemple, * représente une chaîne de caractères, de sorte que la chaîne a* correspondra à toute chaîne qui commence par une chaîne littérale a* et non pas seulement à la chaîne littérale a*. Pour ne pas tenir compte de la signification particulière d’un caractère, insérable entre crochets [], comme ceci : a[*]. Les bases de données qui utilisent la norme ANSI-89 traitent *, ?, [, ], !, -, et # comme des caractères spéciaux. Les bases de données qui utilisent le standard ANSI-92 considèrent %, _, [, ], ^et – comme des caractères spéciaux. Vous pouvez utiliser l’une ou l’autre des deux normes avec Access, mais vous ne pouvez pas mélanger les deux normes (par exemple, ?a*) dans une expression particulière.
Pour appliquer un filtre en fonction des valeurs de champ , cochez les cases en regard des valeurs que vous ne souhaitez pas filtrer, puis cliquez sur OK.
Pour filtrer sur une ou plusieurs valeurs d’une longue liste, vous devez d’abord cocher la case (Sélectionner tout), puis sélectionner les valeurs de votre choix.
Pour filtrer les valeurs Null (une valeur Null indique l’absence de données) dans les champs de texte, de nombre et de date : Dans la liste des case à cocher, cochez (Sélectionner tout), puis cochez la case en regard de (Vides).
Filtrer par sélection
Pour afficher toutes les lignes d’une table qui contiennent une valeur qui correspond à la valeur d’une ligne, vous pouvez rapidement filtrer l’affichage feuille de données en sélectionnant une valeur spécifique, puis en cliquant sur la commande Sélection. La liste drop-down affiche les options de filtrage disponibles. Ces options varient en fonction du type de données de la valeur sélectionnée. Vous pouvez également accéder aux options de filtrage de sélection en cliquant avec le bouton droit sur une cellule spécifique.
Par exemple, si la valeur 2/21/1967 est actuellement sélectionnée dans le champ Date BirthDate, dans l’onglet Accueil, dans le groupe Trier & Filtrer, cliquez sur Sélection pour afficher le filtre par commandes de sélection, puis sélectionnez votre option de filtrage.
La liste des commandes dépend également de la quantité de valeur sélectionnée. Par exemple, si vous ne sélectionnez que certains caractères dans la valeur, une liste de commandes différente agit-elle en fonction de la partie du champ que vous avez sélectionnée ?
1. Filtrer en utilisant le début d’une valeur de champ…
2. … le milieu d’une valeur de champ…
3. … ou la fin d’une valeur de champ.
Remarque : Le filtrage sur une sélection partielle n’est pas disponible pour les champs à plusieurs valeurs. La commande Sélection n’est pas disponible pour les pièces jointes.
Pour supprimer un filtre, sous l’onglet Accueil, dans le groupe Trier & filtrer, cliquez sur Bouton bascule Filtre ou Avancé, puis sur Effacer tous les filtres.
Appliquer un filtre sur la base d’une sélection
- Ouvrez une table, une requête, un formulaire ou un état dans l’un des affichages suivants : Feuille de données, Formulaire, État ou Disposition.
- Assurez-vous que l’affichage n’est pas déjà filtré. Dans la barre du sélecteur d’enregistrement, vérifiez que l’icône Non filtrée ou Grisée n’est pas présente.
- Recherchez l’enregistrement contenant la valeur à utiliser dans le cadre du filtre, puis cliquez dans la colonne (en mode Feuille de données) ou le contrôle (en mode Formulaire, État ou Page).
Pour filtrer sur la base d’une sélection partielle ; sélectionnez les caractères de votre choix. Sous l’onglet Accueil, dans le groupe Trier & filtrer, cliquez sur Sélection, puis sur le filtre à appliquer.
Filtrer par formulaire
Ce filtre est utile lorsque vous souhaitez filtrer plusieurs champs d’un formulaire ou d’une feuille de données, ou si vous recherchez un enregistrement spécifique. Access crée un formulaire vierge ou une feuille de données semblable au formulaire ou à la feuille de données d’origine, puis vous permet d’effectuer autant de champs que vous le souhaitez. Lorsque vous avez terminé, Access recherche les enregistrements qui contiennent les valeurs spécifiées.
Remarque : Vous ne pouvez pas spécifier de valeurs de champ pour des champs à plusieurs valeurs à l’aide de filtrer par formulaire, ni pour les champs dont le type de données est Mémo, Lien hypertexte, Oui/Non ou Objet OLE, même si vous pouvez spécifier des valeurs pour d’autres champs du recordset.
Par exemple, si vous recherchez tous les enregistrements Client dont le titre de contact est Propriétaire et que cette personne se trouve à Portland ou à Base, ouvrez la feuille de données ou le formulaire Clients et, sous l’onglet Accueil, dans le groupe Trier & Filtrer, cliquez sur Avancé, puis sur Filtrer par formulaire.
Entrez le premier jeu de valeurs, puis cliquez sur l’onglet Ou en bas de la feuille de données ou du formulaire, puis entrez l’ensemble de valeurs suivant. Notez que si vous voulez qu’une valeur de champ fonctionne comme un filtre indépendamment d’autres valeurs de champ, vous devez entrer cette valeur sous les onglets Rechercher et Ou. Chaque onglet Ou représente un autre ensemble de valeurs de filtre.
Pour voir uniquement les enregistrements correspondant à votre saisie : Sous l’onglet Accueil, dans le groupe Trier & filtre, cliquez sur Bouton basculeFiltre.
Appliquer un filtre en remplissant un formulaire
- Ouvrez une table ou une requête en mode Feuille de données, ou un formulaire en mode Formulaire.
- Assurez-vous que l’affichage n’est pas déjà filtré. Dans la barre du sélecteur d’enregistrement, vérifiez que l’icône Non filtrée ou Grisée n’est pas présente.
- Sous l’onglet Accueil, dans le groupe Trier & filtre, cliquez sur Avancé, puis sur Filtrer par formulaire dans le menu raccourci.
- Selon que vous travaillez en mode Feuille de données ou en mode Formulaire, faites l’une des choses suivantes :Affichage Feuille de données : Cliquez sur la première ligne de la colonne sur laquelle vous souhaitez filtrer, cliquez sur la flèche qui apparaît, puis sélectionnez une valeur. Pour ajouter des valeurs supplémentaires, cliquez simplement sur l’onglet Ou en bas de la feuille de données et sélectionnez une autre valeur.
Mode Formulaire: cliquez sur la flèche qui apparaît dans le contrôle, puis sélectionnez une valeur sur laquelle filtrer. Pour ajouter des valeurs supplémentaires, cliquez sur l’onglet Ou en bas du formulaire et sélectionnez une autre valeur.
Conseils : Vous ne pouvez pas spécifier de valeurs de champ pour des champs à plusieurs valeurs à l’aide du filtre par formulaire, mais vous pouvez spécifier des valeurs pour un champ à plusieurs valeurs dans le recordset.
- Pour spécifier une liste de valeurs possibles pour un champ, utilisez l’opérateur ou l’opérateur. Par exemple, spécifiez « Portland » ou « Oregon » dans le champ Ville pour filtrer les enregistrements contenant l’une ou l’autre valeur.
- Pour filtrer en fonction de l’état d’un contrôle, par exemple, une case à cocher ou un bouton, cliquez sur le contrôle afin qu’il se trouve à l’état voulu. Pour que le contrôle ne soit pas utilisé comme critère de filtrage des enregistrements, assurez-vous qu’il n’est pas disponible (grisé).
- Pour filtrer les enregistrements qui ont les valeurs Null (manquantes), non Null, Vides (vides ou « ») ou non vides, tapez Is Null,Is Not Null,« »ou Not « » dans le champ.
- Si vous souhaitez spécifier deux jeux de critères alternatifs, par exemple, pour voir uniquement les noms des contacts dont la valeur PaysRégion est États-Unis et dont les anniversaires tombent en avril, vous pouvez :
- Pour récupérer tous les enregistrements qui répondent à l’un de plusieurs ensembles de critères, spécifiez les critères en entrant le premier jeu de critères, cliquez sur l’onglet Ou, puis entrez le jeu de critères suivant. Notez que si vous voulez qu’une valeur de champ fonctionne comme un filtre indépendamment d’autres valeurs de champ, vous devez entrer cette valeur sous l’onglet Rechercher et sous chaque onglet Ou. En d’autres termes, les onglets Rechercher et Ou représentent un autre ensemble de valeurs de filtre.
- Notez également que chaque fois que vous ajoutez un critère de champ à l’onglet Ou, Access crée un autre onglet Ou. Cela vous permet de spécifier plusieurs critères « ou ». Le filtre renvoie tout enregistrement contenant toutes les valeurs spécifiées sous l’onglet Rechercher, ou toutes les valeurs spécifiées sous le premier onglet Ou, ou toutes les valeurs spécifiées dans le deuxième onglet Ou, etc.
Pour supprimer un filtre et afficher tous les enregistrements, cliquez de nouveau sur Bouton bascule Filtrer.
Pour modifier un filtre par formulaire, cliquez sur Avancé, puis à nouveau sur Filtrer par formulaire. Le jeu de critères de filtre actuel s’affiche.
Filtre avancé
Parfois, vous voudrez peut-être appliquer un filtre de type filtre avancé et écrire vous-même le critère de filtre. Par exemple, pour rechercher des enregistrements contenant des dates se produisant au cours des sept derniers jours ou des six derniers mois.
L’utilisation des filtres avancés nécessite la rédaction d’expressions. Les expressions sont similaires aux formules dans Excel et aux critères que vous spécifiez lors de la création d’une requête.
Par exemple, vous pouvez utiliser un filtre avancé pour rechercher les noms des contacts dont l’anniversaire a eu lieu au cours des sept derniers jours. Après avoir appliqué un filtre avancé, vous pouvez limiter davantage les résultats aux personnes dont le pays/la région est la États-Unis.
Appliquer un filtre avancé
- Ouvrez une table, une requête, un formulaire ou un état dans l’un des affichages suivants : Feuille de données, Formulaire, État ou Disposition.
- Assurez-vous que l’affichage n’est pas déjà filtré. Dans la barre du navigateur d’enregistrement, vérifiez qu’aucun filtre n’apparaît grisé (indisponible). Si la barre du navigateur d’enregistrement n’est pas visible, cliquez sur Avancé dans le groupe Trier & et filtrer sous l’onglet Accueil, puis cliquez sur Effacer tous les filtres (si Effacer tous les filtres est grisé, aucun filtre n’est en vigueur).
- Sous l’onglet Accueil, dans le groupe Trier & filtre, cliquez sur Avancé, puis sur Filtre/Tri avancé dans le menu raccourci.
- Ajoutez les champs sur lesquels vous souhaitez filtrer la grille.
- Dans la ligne Critères de chaque champ, spécifiez un critère. Les critères sont appliqués en tant qu’ensemble et seuls les enregistrements qui correspondent à tous les critères de la ligne Critères sont affichés. Pour spécifier d’autres critères pour un seul champ, tapez le premier critère dans la ligne Critères, le deuxième dans la ligne Ou, etc.
Conseils :
- L’ensemble complet des critères de la ligne Ou est appliqué en remplacement de l’ensemble de critères de la ligne Critères. Tous les critères que vous voulez appliquer aux deux ensembles de critères doivent être tapés dans les lignes Critères et Ou. Cliquez sur Bouton bascule Filtrer pour voir les lignes filtrées.
- Un bon moyen d’apprendre à écrire des critères consiste à appliquer un filtre commun ou un filtre basé sur une sélection qui produit un résultat proche de ce que vous recherchez. Ensuite, avec le filtre appliqué à l’affichage, afficher l’onglet Filtrer l’objet
Commandes spéciales sous l’onglet Filtrer le document
Deux commandes spéciales sont disponibles sous l’onglet Filtrer le document. Lorsque vous cliquez avec le bouton droit n’importe où au-dessus de la grille de création sous l’onglet, les commandes Charger à partir de la requête et Enregistrer en tant que requête sont disponibles dans le menu raccourci.
La commande Charger à partir de la requête charge la conception d’une requête sélectionnée dans la grille. Cela vous permet d’utiliser les critères de requête comme critères de filtre.
La commande Enregistrer en tant que requête vous permet d’enregistrer les paramètres de filtre en tant que nouvelle requête.
Supprimer ou appliquer à nouveau un filtre
Pour réappliquer les filtres les plus récents, cliquez sur Non filtré dans la barre du navigateur d’enregistrement.
Effacer un filtre
Effacer un filtre lorsque vous n’en avez plus besoin. Si vous effacez un filtre, celui-ci est supprimé de l’affichage et vous ne pouvez plus le réappliquer en cliquant sur Non filtré dans la barre d’état. Vous pouvez effacer un filtre unique d’un seul champ ou effacer tous les filtres de tous les champs de la vue.
- Pour effacer un filtre unique d’un seul champ : Cliquez avec le bouton droit sur la colonne ou le contrôle filtré, puis cliquez sur Effacer le filtre du nom du champ.
- Pour effacer tous les filtres de tous les champs : Sous l’onglet Accueil, dans le groupe Trier & filtre, cliquez sur Avancé, puis sur Effacer tous les filtres dans le menu raccourci.
Enregistrer un filtre
Il peut s’avérer utile d’enregistrer un filtre si vous l’utiliserez de nouveau. Les paramètres de filtre en vigueur au moment de la fermeture d’une table, d’une requête, d’un formulaire ou d’un état sont enregistrés automatiquement avec l’objet et peuvent être réappliquer. Toutefois, par défaut, les paramètres de filtre ne sont pas automatiquement appliqués à votre place lors de la prochaine ouverture de l’objet.
Pour vous assurer que les filtres actuels sont automatiquement appliqués lorsque vous ouvrez ensuite une table, une requête, un formulaire ou un état, à partir de la feuille de propriétés de l’objet, définissez la propriété FilterOnLoad de l’objet sur Oui. La propriété FilterOnLoad est appliquée à la prochaine ouverture de l’objet. Chaque fois que vous modifiez ce paramètre, vous devez fermer et rouvrir l’objet pour appliquer le nouveau paramètre.
Remarque : La définition de propriété FilterOnLoad est appliquée uniquement lorsque l’objet est chargé. La définition de cette propriété pour un objet en mode Création, puis le basculement vers un autre mode n’entraîne pas l’application du paramètre. Vous devez fermer et rouvrir l’objet pour que les modifications apportées au paramètre de propriété FilterOnLoad prennent effet.