Dans Access, vous pouvez créer un champ à valeurs multiples qui contient plusieurs valeurs (jusqu’à 100). Vous pouvez également créer un champ Liste de choix qui affiche une valeur conviviale liée à une valeur dans une autre source de données. Lorsque vous interrogez un champ Liste de choix ou à plusieurs valeurs, il existe des considérations uniques. Pour plus d’informations, consultez Create ou supprimer un champ à valeurs multiples et Create ou supprimer un champ de recherche.
Contenu de cet article
-
Afficher la valeur liée d’un champ De recherche dans une requête
-
Utiliser la valeur d’affichage d’un champ Liste de choix dans une requête
-
Ajouter des critères à un champ à plusieurs valeurs dans une requête
-
Ajouter plusieurs critères à un champ à valeurs multiples dans une requête
-
Regroupement et comptage d’un champ à plusieurs valeurs dans une requête
-
Utiliser une requête Ajouter avec un champ à valeurs multiples
-
Utiliser une requête Mettre à jour avec un champ à valeurs multiples
-
Utiliser une requête Supprimer avec un champ à plusieurs valeurs
Afficher la valeur liée d’un champ De recherche dans une requête
La valeur d’affichage d’un champ Liste de choix s’affiche automatiquement en mode Feuille de données de requête par défaut. Lorsque vous créez une requête, vous pouvez remplacer ce comportement afin que la valeur liée s’affiche à la place. Dans cet exemple, supposons que vous souhaitiez voir la valeur liée d’un champ Recherche dans une table siège qui « recherche » un nom d’état de la Nouvelle-Angleterre.
-
Ouvrez la requête en mode Création.
-
Dans cet exemple, ajoutez les tables Headquarters et NewEngland .
Les deux tables doivent être jointes.
Pour plus d’informations, consultez Joindre des tables et des requêtes.
-
Faites glisser le champ avec le champ Liste de choix vers la grille de conception de requête. Dans cet exemple, ajoutez les champs City et NEState .
-
Cliquez sur le champ Liste de choix, puis sous l’onglet Création , dans le groupe Afficher/Masquer , cliquez sur Feuille de propriétés. Dans cet exemple, utilisez le champ NEState .
-
Dans la feuille de propriétés, sélectionnez l’onglet Liste de choix, puis dans la propriété Contrôle d’affichage , sélectionnez Zone de texte.
Résultat Maintenant, lorsque vous affichez la requête en mode Feuille de données, vous voyez la valeur liée correspondante de la valeur d’affichage.
Utiliser la valeur d’affichage d’un champ Liste de choix dans une requête
Lorsque vous créez un champ Liste de choix, une jointure est créée entre la valeur Liée et la valeur Display. Bien que vous ne puissiez pas utiliser directement la valeur Display dans une requête, vous pouvez utiliser la valeur correspondante de l’autre source de données. Dans cet exemple, supposons que vous souhaitiez utiliser la valeur d’affichage du champ Recherche, NEState, dans la table Headquarters d’une requête comme critère.
-
Ouvrez la requête en mode Création.
-
Dans cet exemple, ajoutez les tables Headquarters et NewEngland .
Les deux tables doivent être jointes. Pour plus d’informations, consultez Joindre des tables et des requêtes.
-
Faites glisser les champs que vous souhaitez utiliser vers la grille de requête. Dans cet exemple, faites glisser City de la table Headquarters vers la première colonne, NEState de la table Headquarters vers la deuxième colonne et StateName de la table NewEngland vers la troisième colonne.
-
Décochez la case Afficher case activée de StateName dans la grille de requête.
-
Dans la grille de requête, sous StateName, dans la ligne Critères, entrez Vermont.
Les critères de requête sont basés sur la colonne StateName , qui est bien sûr la même valeur que la valeur d’affichage, NEState, mais n’est pas affichée en mode Feuille de données.
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Résultat Seule la ligne contenant Vermont est affichée.
Utiliser un champ à plusieurs valeurs dans une requête
Lorsque vous affichez un champ à valeurs multiples dans une requête, vous pouvez afficher le champ à valeurs multiples complet contenant toutes les valeurs séparées par des virgules sur une ligne, ou des données aplatissements avec une ligne distincte pour chaque valeur. Par exemple, supposons que vous ayez une table Problèmes qui contient un champ Titre pour chaque problème et un champ à valeurs multiples AssignedTo pour affecter des problèmes à des personnes.
Afficher toutes les valeurs d’un champ à valeurs multiples sur une ligne
-
Ouvrez la requête en mode Création.
-
Dans cet exemple, ajoutez la table Problèmes .
-
Faites glisser les champs vers la grille de conception de requête. Dans cet exemple, faites glisser le champ Titre et le champ à valeurs multiples AssignedTo .
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Résultat Comme vous pouvez vous y attendre, une colonne affiche le champ Titre et la deuxième colonne affiche le champ à valeurs multiples AssignedTo :
Afficher chaque valeur d’un champ à valeurs multiples dans une ligne (vue aplatissement)
-
Ouvrez la requête en mode Création.
-
Dans cet exemple, ajoutez la table Problèmes .
-
Faites glisser les champs vers la grille de requête. Dans cet exemple, faites glisser le champ Titre et le champ à valeurs multiples AssignedTo.Value .
Format, <nom du champ>. Value, ajoute la propriété Value comme chaîne . Valeur du champ AssignedTo .
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Résultat Les données sont aplatissements de sorte que le champ Titre est répété et que chaque valeur du champ à valeurs multiples AssignedTo est affichée dans une ligne correspondante :
Ajouter des critères à un champ à plusieurs valeurs dans une requête
Le placement des mêmes critères dans la grille de requête dans différentes colonnes de grille a un impact important sur les résultats de votre requête.
Ajouter des critères qui affichent toutes les valeurs d’un champ à valeurs multiples dans une ligne
Access crée d’abord un jeu de résultats, puis ajoute les critères.
-
Ouvrez la requête en mode Création.
-
Dans cet exemple, ajoutez la table Problèmes .
-
Faites glisser les champs vers la grille de requête. Dans cet exemple, faites glisser le champ Titre , le champ à valeurs multiples AssignedTo et le champ à valeurs multiples AssignedTo.Value .
-
Désactivez la zone Afficher case activée de la valeur AssignedTo.Value dans la grille de requête.
-
Dans la grille de requête, sous AssignedTo.Value, dans la ligne Critères , entrez « NOT « David Hamilton ».
Il est utile de voir la vue SQL :
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”;
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Résultat Les trois problèmes non attribués à David Hamilton sont affichés dans une valeur par défaut.
Ajouter des critères qui affichent chaque valeur d’un champ à valeurs multiples dans une ligne (la vue aplatissement)
Access crée d’abord un jeu de résultats aplatissement, puis ajoute les critères.
-
Ouvrez la requête en mode Création.
-
Dans cet exemple, ajoutez la table Problèmes .
-
Faites glisser les champs vers la grille de requête. Dans cet exemple, faites glisser le champ Titre et le champ à valeurs multiples AssignedTo.Value .
-
Dans la grille de requête, sous AssignedTo.Value, dans la ligne Critères , entrez PAS « David Hamilton ».
Il est utile de voir la vue SQL :
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Résultat Chaque problème non affecté à David Hamilton est affiché dans une valeur aplatissement.
Ajouter plusieurs critères à un champ à valeurs multiples dans une requête
Parfois, vous devez rechercher une correspondance sur plusieurs valeurs à l’intérieur d’un champ à plusieurs valeurs. Par exemple, supposons que vous souhaitiez voir les problèmes dans lesquels « Kelly Rollin » et « Lisa Miller » font partie des valeurs du champ AssignedTo
-
Ouvrez la requête en mode Création.
-
Dans cet exemple, ajoutez la table Problèmes .
-
Faites glisser les champs vers la grille de requête. Dans cet exemple, faites glisser le champ Titre et le champ à valeurs multiples AssignedTo .
-
Dans la grille de requête, sous AssignedTo, dans la ligne Critères , entrez « Kelly Rollin » ET « Lisa Miller ».
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Résultat Ces deux problèmes attribués à « Kelly Rollin » et à « Lisa Miller » sont affichés.
Regroupement et comptage d’un champ à plusieurs valeurs dans une requête
Pour effectuer des calculs, des regroupements et des tris de valeurs stockées dans un champ à plusieurs valeurs, utilisez l'> nom du champ <. Champ Valeur. Pour plus d’informations sur les requêtes de groupe, consultez Compter les données à l’aide d’une requête.
Pour compter le nombre de problèmes attribués à chaque personne
-
Ouvrez la requête en mode Création.
-
Dans cet exemple, ajoutez la table Problèmes .
-
Faites glisser les champs que vous souhaitez utiliser vers la grille de requête. Dans cet exemple, faites glisser AssignedTo.Value vers la première colonne et Title vers la deuxième colonne.
-
Sous l’onglet Création , dans le groupe Afficher/Masquer , cliquez sur Totaux.
La ligne Total s’affiche dans la grille de requête. Regrouper par apparaît par défaut dans la cellule Total sous chaque champ de la requête.
-
Dans la grille de requête, sous Titre, dans la ligne Total , cliquez sur Nombre.
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Résultat Le nombre de problèmes attribués par personne s’affiche dans une vue aplatissement.
Pour compter le nombre de personnes affectées à chaque problème
-
Ouvrez la requête en mode Création.
-
Dans cet exemple, ajoutez la table Problèmes .
-
Faites glisser les champs que vous souhaitez utiliser vers la grille de requête. Dans cet exemple, faites glisser Title vers la première colonne, puis assignedTo vers la deuxième colonne.
-
Sous l’onglet Création , dans le groupe Afficher/Masquer , cliquez sur Totaux.
La ligne Total s’affiche dans la grille de requête. Regrouper par apparaît par défaut dans la cellule Total sous le champ Titre de la requête. L’expression apparaît par défaut dans la cellule Total sous le champ AssignedTo , car vous ne pouvez pas effectuer une opération Grouper par directement sur un champ à plusieurs valeurs, seul un <nom de champ>. Champ Valeur.
-
Dans la grille de requête, sous AssignedTo, dans la ligne Total , cliquez sur Nombre.
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Résultat Le nombre de personnes affectées par problème s’affiche dans une vue aplatissement.
Utiliser une requête Ajouter avec un champ à valeurs multiples
Vous pouvez insérer une valeur unique dans un champ à plusieurs valeurs à l’aide d’une requête Append. Par exemple, supposons que vous souhaitiez ajouter « Tom Michaels » au champ à valeurs multiples AssignedTo dans la table Issues.
Remarque Il s’agit du seul type de requête Append qui fonctionne avec un champ à plusieurs valeurs.
-
Ouvrez la requête en mode Création.
-
Ajoutez la table Problèmes .
-
Sous l’onglet Création , cliquez sur Ajouter.
-
Dans la boîte de dialogue Ajouter , sélectionnez Problèmes, puis cliquez sur OK.
-
Dans la ligne Ajouter à de la grille de conception, sélectionnez AssignedTo.Value.
-
Dans la ligne Champ de la grille de conception, entrez « Tom Michaels ».
-
Pour limiter l’opération d’ajout à des problèmes spécifiques, ajoutez un champ à la grille Création, par exemple Titre, supprimeztitre de la ligne Ajouter à, puis entrez des critères tels que « Problème 3 ».
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Access peut vous demander de confirmer s’il faut ajouter la ligne sélectionnée. Cliquez sur Oui pour insérer la ligne ou sur Non pour annuler.
Résultat « Tom Michaels » est maintenant ajouté au champ AssignedTo pour le problème 3.
Important Vous ne pouvez pas utiliser une requête Append qui fait référence à une table qui contient un champ à plusieurs valeurs. Par exemple, la requête suivante n’est pas valide :
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
Utiliser une requête Mettre à jour avec un champ à valeurs multiples
Vous pouvez utiliser une requête Update pour remplacer une valeur unique dans un champ à valeurs multiples par une autre valeur. Dans cet exemple, vous souhaitez mettre à jour le champ à valeurs multiples AssignedTo pour remplacer « Kelly Rollin » par « Lisa Miller ».
-
Ouvrez la requête en mode Création.
-
Ajoutez la table Problèmes .
-
Sous l’onglet Création , cliquez sur Mettre à jour.
-
Faites glisser AssignedTo.Value vers la grille de requête.
-
Dans la ligne Mettre à jour vers , entrez « Lisa Miller ».
-
Dans la ligne Critères , entrez « Kelly Rollin ».
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Access peut vous demander de confirmer s’il faut ajouter la ligne sélectionnée. Cliquez sur Oui pour insérer la ligne ou sur Non pour annuler.
Résultat Lisa Miller remplace Kelly Rollin dans le champ AssignedTo pour tous les problèmes correspondants.
Utiliser une requête Supprimer avec un champ à plusieurs valeurs
Lorsque vous travaillez avec une table qui contient un champ à valeurs multiples, vous pouvez utiliser une requête de suppression pour supprimer des enregistrements qui contiennent une valeur particulière dans un champ à valeurs multiples, ou pour supprimer une valeur particulière d’un champ à valeurs multiples dans tous les enregistrements de la table. Dans l’exemple suivant, supposons que vous souhaitez supprimer « David Hamilton » de la table Problèmes.
Important Lorsque vous utilisez une requête de suppression pour supprimer un champ à plusieurs valeurs qui contient des données, vous perdez définitivement ces données ; vous ne pouvez pas annuler la suppression. Pour cette raison, vous devez sauvegarder votre base de données avant de supprimer des champs de tableau ou d’autres composants de base de données.
Pour supprimer une valeur particulière d’un champ à valeurs multiples dans tous les enregistrements
-
Sous l’onglet Créer, dans le groupe Requêtes, cliquez sur Création de requête.
-
Ajoutez la table Problèmes .
-
Ouvrez la requête en mode Création.
-
Sous l’onglet Création , cliquez sur Supprimer.
-
Dans la ligne Critères , entrez « David Hamilton ».
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Access peut vous demander de confirmer s’il faut supprimer les enregistrements. Cliquez sur Oui pour supprimer les enregistrements ou sur Non pour annuler.
Résultat David Hamilton est supprimé de pour tous les problèmes correspondants.
Supprimer les enregistrements qui contiennent une valeur particulière dans un champ à valeurs multiples
-
Sous l’onglet Créer, dans le groupe Requêtes, cliquez sur Création de requête.
-
Ajoutez la table Problèmes .
-
Ouvrez la requête en mode Création.
-
Sous l’onglet Création , cliquez sur Supprimer le groupe.
-
Sous l’onglet Création , dans le groupe Résultats , cliquez sur la flèche sous Affichage , puis cliquez sur Vue SQL.
-
Entrez l’instruction SQL suivante :
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
Remarque Dans ce cas, vous pouvez uniquement utiliser une instruction SQL, et non la grille De conception. Si vous basculez vers le mode Grille création, Access ajoute un astérisque (*) après l’instruction DELETE, que vous devez supprimer de la vue SQL.
-
Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Access peut vous demander de confirmer s’il faut supprimer les enregistrements. Cliquez sur Oui pour supprimer les enregistrements ou sur Non pour annuler.
Résultat Tous les problèmes auxquels David Hamilton est affecté sont supprimés.