Microsoft Office Online
Se connecter à Mon site Office Online (Qu'est-ce que c'est ?) | Se connecter

 
 
Microsoft Office Access
Rechercher
Rechercher
 
Acheter Office
Acheter et activer Office 2007
Rechercher des mises à jour : (c) Microsoft
Tester Office 2010 beta
 
 
 
Avertissement : vous affichez cette page avec un navigateur Web non pris en charge. Ce site Web fonctionne de manière optimale avec Microsoft Internet Explorer 6.0 ou version ultérieure, Firefox 1.5 ou Netscape Navigator 8.0 ou version ultérieure. En savoir plus sur les navigateurs pris en charge.

Rechercher, masquer ou éliminer les données en double
 

Cet article explique comment rechercher, masquer ou éliminer les données en double via Microsoft Office Access 2007. Par principe, les données en double doivent être supprimées chaque fois que cela est possible afin de réduire les coûts et améliorer la précision des données. Office Access 2007 offre plusieurs méthodes pour rechercher, masquer ou supprimer les valeurs en double ; vous trouverez dans cet article une description des méthodes les plus courantes.

Que voulez-vous faire ?


Comprendre la notion de données en double

L'un des principaux avantages des bases de données relationnelles est qu'elles permettent d'éviter les données en double. Toutefois, au fil du temps, les bases de données acquièrent souvent des données en double, tout particulièrement lorsque les données sont entrées par divers utilisateurs. En règle générale, le fait d'éliminer les données en double permet de réaliser des économies en matière de stockage et d'améliorer la précision des données. Qui plus est, cette précision peut aider à prendre de meilleures décisions professionnelles. Par exemple, si une commande est entrée plusieurs fois, il est possible que le client reçoive des marchandises en trop, une redondance qui risque de vous faire supporter des frais supplémentaires en termes de transport et de comptabilité.

Les implications réelles de la duplication

Avant d'entreprendre toute action en vue d'identifier et supprimer les enregistrements en double, gardez à l'esprit que vous devez vous fier à votre connaissance des données. Contrairement au processus de création de base de données, il n'est pas possible d'appliquer un ensemble de règles ou de procédures spécifiques afin de rechercher et supprimer avec précision des enregistrements en double. S'il est un point à se rappeler au moment de procéder, c'est que les requêtes de base de données peuvent renvoyer ce qui s'apparente à des enregistrements en double, mais qui correspondent en réalité à des données valides. Ce semblant de duplication se produit généralement lorsque vous n'incluez pas dans la requête des champs destinés à identifier de façon unique chaque enregistrement. Pour plus d'informations sur les champs qu'il est nécessaire d'inclure dans une requête afin d'éviter les faux doublons, voir la section Distinguer les enregistrements en double des autres, plus loin dans cet article.

Par ailleurs, sachez que certaines données en double ne peuvent pas être supprimées. En effet, un certain degré de duplication est nécessaire au bon fonctionnement de votre base de données. Autrement dit, les bases de données peuvent contenir des redondances utiles et des redondances inutiles. Seules ces dernières doivent être éliminées.

Les redondances utiles se divisent généralement en deux catégories. Le premier type de redondance est nécessaire au fonctionnement de la base de données. Par exemple, il convient de dupliquer les données d'un champ clé primaire chaque fois que vous devez établir une relation un-à-plusieurs ou plusieurs-à-plusieurs entre des tables.

Le second type de redondance utile se manifeste lorsque vous utilisez votre base de données. Par exemple, vous pouvez être amené à entrer plusieurs fois le nom d'une ville, d'un fournisseur ou encore un nom commun, tel que Jean Dupont. Dans ce cas, vous ne risquez pas de dupliquer des données, car d'autres champs de votre base de données (p.ex., valeurs de clés primaires, adresses, codes postaux) contiennent suffisamment d'informations uniques pour éviter que les enregistrements ne soient assimilés à des doublons.

Les redondances inutiles peuvent se produire de plusieurs façons :

  • Deux enregistrements ou plus contiennent des champs en double.  Deux enregistrements peuvent être considérés comme des doublons, même si la valeur de certains champs de ces enregistrements ne correspond pas. Par exemple, dans cette illustration, vous pouvez constater qu'il existe deux enregistrements pour Antonio Moreno Taquería.

    Enregistrements en double pour un client répertorié dans la table Clients

    Même si chaque enregistrement présente un Code client (valeur de la colonne située à l'extrême gauche) unique, les valeurs contenues dans les champs Nom, Adresse et Ville correspondent. En pareil cas, même une correspondance partielle peut justifier que vous fassiez appel à vos connaissances de votre entreprise et que vous examiniez les enregistrements pour identifier les doublons éventuels.

  • Au moins deux tables contiennent des données similaires.  Par exemple, les tables Clients et Clientèle peuvent toutes deux contenir des enregistrements pour les mêmes clients.

    Tables Clients et Clientèle contenant des données qui se superposent

    Même si les deux tables présentent des structures différentes, elles contiennent le même type d'informations, à savoir, des données client. La fusion des valeurs uniques (autres que des doublons) dans une table unique et l'élimination de la table restante sont donc à envisager.  

  • Deux bases de données ou plus contiennent des données similaires.  Si vous découvrez que deux bases de données ou plus contiennent des données similaires, ou si vous héritez d'une base de données qui empiète sur votre base de données actuelle, vous devez comparer les données et la structure de ces bases de données et prendre les mesures nécessaires pour les fusionner.

    La comparaison manuelle de bases de données, si petites soient-elles, n'est pas une tâche aisée. Si vous avez besoin d'aide pour effectuer une comparaison, sachez que plusieurs fournisseurs tiers commercialisent des outils destinés à comparer le contenu et la structure des bases de données Access.

  • Visitez la section traitant de la gestion des bases de données sur le site Microsoft Office MarketPlace pour plus d'informations sur les outils de gestion de base de données actuellement disponibles.

 Remarque   Si vous prenez des mesures en vue d'éliminer les données en double de vos tables et que vous remarquez, par la suite, qu'un formulaire ou un état contient toujours des données en double, cela est peut-être le signe que le formulaire ou l'état a été mal conçu. Vérifiez que les tables et les requêtes sous-jacentes sont correctement jointes et que les sections du formulaire ou de l'état ne contiennent pas plus d'un contrôle lié à une même source de contrôle.

Pour plus d'informations sur la conception des états, consultez l'article Modifier un état.

Distinguer les enregistrements en double des autres

À certaines occasions, comme lorsque vous examinez les données renvoyées par une requête, certains enregistrements peuvent donner l'impression d'être des doublons, malgré que les tables sous-jacentes ne contiennent que des enregistrements uniques. Vous pouvez être confronté à ces problèmes si votre vue ne comporte pas de champs qui identifient de façon unique un enregistrement. Par exemple, cette illustration présente des données renvoyées par une requête.

Affichage dépourvu de champ qui aurait pu identifier de façon unique les enregistrements

Dans cette vue, plusieurs enregistrements semblent correspondre à des doublons. Or, si vous ajoutez un ou plusieurs champs supplémentaires à la requête, tels que le nom des clients ou les champs clés primaires de chaque commande (Réf. commande), vous découvrirez que chaque enregistrement est bel et bien unique :

Le champ Réf. commande a été ajouté pour éliminer les enregistrements en double de la vue

Par principe, lorsque vous créez une requête, il est conseillé d'inclure le ou les champs qui identifient chaque champ de façon unique. En règle générale, un champ clé primaire remplit cette fonction, mais vous pouvez utiliser d'autres combinaisons de champs à cette fin. Par exemple, s'il existe de nombreuses occurrences d'un même nom de contact et d'un même nom de ville mais que vous incluez un numéro de téléphone et une adresse, cette combinaison de données doit faire de chaque enregistrement un enregistrement unique.

Éléments à prendre en compte en ce qui concerne la duplication

La façon dont vous gérez la question des enregistrements en double dépend de plusieurs facteurs :

  • Nature et étendue de la duplication  Les données en double se trouvent-elles dans une table unique, êtes-vous en présence d'une superposition de données entre deux tables distinctes (d'une même base de données ou de deux bases de données différentes) ou les enregistrements en double se trouvent-ils dans une vue basée sur au moins deux tables associées ?
  • Vos propres exigences  Que voulez-vous faire des données en double ? Voulez-vous supprimer les enregistrements de la base de données ou seulement les masquer au niveau de la vue ? Voulez-vous dénombrer les enregistrements en double, calculer la moyenne ou la somme de leurs valeurs ? Faut-il faire la part entre les enregistrements en double qui doivent être supprimés ou masqués ? Si tel est le cas, souhaitez-vous examiner et supprimer les enregistrements manuellement ou bien les supprimer sur la base d'un critère ? Voulez-vous par la même occasion mettre à jour ou fusionner un ou plusieurs enregistrements avant d'entreprendre la suppression des enregistrements ?

Les réponses à ces questions (ou à ces types de questions), combinées à votre connaissance des données, devrait vous permettre de créer un plan en vue de traiter les données redondantes.

Préparatifs d'ordre général en vue de la suppression des doublons

Si vous décidez de supprimer vos enregistrements en double, vous devez tout d'abord vous pencher sur les relations existant entre les tables. En règle générale, la plupart des bases de données entretiennent des relations un-à-plusieurs. Admettons par exemple que vous disposiez d'un nombre limité de clients, mais que chaque client passe de nombreuses commandes. De ce fait, la table de données client réside du côté « un » de la relation, tandis que celles des données commande réside du côté « plusieurs » de la relation.

Rappelez-vous de la règle suivante au moment de procéder : si les données que vous voulez supprimer résident du côté « plusieurs » d'une relation, vous pouvez supprimer les données sans exécuter d'étapes supplémentaires. En revanche, si les données résident du côté « un », vous devez définir une propriété dans la relation, car sinon, Access empêchera la suppression.

Pour plus d'informations sur la suppression de données du côté « un », voir l'article Supprimer un ou plusieurs enregistrements d'une base de données à l'aide d'une requête Suppression.

Avant d'entreprendre la suppression des données redondantes, envisagez de préparer votre base de données en suivant les conseils suivants :

  • vérifiez que la base de données n'est pas en lecture seule ;
  • assurez-vous de disposer des autorisations nécessaires à la modification ou à la suppression des enregistrements de la base de données ;
  • demandez à tous les utilisateurs de la base de données de fermer les objets que vous voulez utiliser. Vous éviterez ainsi des violations de verrouillage.

     Conseil   Si le nombre d'utilisateurs qui se connectent à la base de données est important, il pourra être nécessaire de fermer la base de données et de la rouvrir en mode exclusif. Pour ce faire, cliquez sur le Bouton Microsoft Office Image du bouton dans Access, puis sur Ouvrir. Recherchez la base de données, sélectionnez-la, cliquez sur la flèche située en regard du bouton Ouvrir, puis sur Ouvrir en exclusif.

    Ouverture d'un fichier en mode exclusif

  • Sauvegardez votre base de données avant de supprimer des enregistrements, car il n'est pas possible d'annuler une opération de suppression. Le seul moyen de rétablir des enregistrements supprimés est de les restaurer à partir d'une sauvegarde. Une opération de suppression peut également entraîner la suppression d'enregistrements dans les tables associées ; il est donc préférable de sauvegarder l'intégralité de la base de données avant de lancer l'opération.

    Sauvegarder une base de données

    1. Cliquez sur le Bouton Microsoft Office Image du bouton, sur la flèche à côté de Gérer, puis sur Sauvegarder la base de données.

      La boîte de dialogue Enregistrer sous s'affiche et Access ajoute la date du jour au nom du fichier. Admettons, par exemple, que votre base de données s'intitule Actifs ; Access crée alors un nom de fichier de ce type : Actifs_29-10-2006.

    2. Acceptez le nom et l'emplacement par défaut, ou sélectionnez un autre nom ou emplacement, puis cliquez sur Enregistrer.

    Access ferme le fichier d'origine, crée une sauvegarde, puis rouvre le fichier d'origine.

    Pour restaurer une sauvegarde, fermez et renommez le fichier d'origine de sorte que la copie de sauvegarde puisse utiliser le nom de la version d'origine. Attribuez à la copie de sauvegarde le nom de la version d'origine, puis ouvrez-la dans Access.

Haut de la page Haut de la page

Préparer des données d'exemple

Les sections pratiques de cet article fournissent des tables contenant des exemples de données. Grâce aux tables, elles vous aident à comprendre le fonctionnement des requêtes. Si vous préférez, vous pouvez éventuellement entrer ou importer les tables d'exemples dans une base de données nouvelle ou existante.

Accès propose plusieurs méthodes pour ajouter ces bases de données d'exemples à une base de données. Vous pouvez entrer manuellement les données ou copier chaque table dans un tableur (par exemple, Office Excel 2007) puis importer les feuilles de calcul dans Access, ou encore coller les données dans un éditeur de texte, tel que Bloc-notes, et importer à partir des fichiers texte ainsi produits.

Les étapes de cette section expliquent comment entrer des données manuellement dans une feuille de données vide, comment copier des tables d'exemples dans Excel et les importer dans Access 2007. Pour plus d'informations sur la création et l'importation de données texte, consultez l'article Importer ou attacher des données d'un fichier texte.

Les étapes pratiques de cet article utilisent les tables suivantes :

Table Clients :

Société Contact Adresse Ville Code postal Tél.
Baldwin Museum of Science Hervé Bouraima 28, av. du Burkina Faso Saint-Denis 93200 01.12.34.56.01
Blue Sky Airlines Patrice Dupont-Roc 52, av. de Chypre Valenciennes 59300 03.12.34.56.01
Coho Winery Antoine Faisandier 3122, av. de Corée Toulouse 31051 05.12.34.56.01
Contoso Pharmaceuticals Sylvie Narp 1, av. de Hongrie Paris 75003 01.22.45.67.01
Fourth Coffee Ariane Berthier 2, av. de Slovaquie Marseille 13012 04.01.23.78.01
Coho Winery Jean-Charles Colon 3122, avenue de Corée Toulouse 31051 05.12.34.56.02
Humongous Insurance Michel Cordani 67, av. du Mali Nice 06004 04.22.56.78.01
Trey Research Marie Dubois 2, av. de Lituanie Brest 29200 02.12.34.56.01
Fourth Coffee Florence Flipo 2, av. de Slovaquie Marseille 13012 04.01.23.78.23

Table Employés  :

Nom de famille Prénom Adresse Ville Date de naissance Date d'embauche
Bouraima Hervé 28, av. du Burkina Faso Saint-Denis 05.02.68 10.06.94
Dupont-Roc Patrice 52, av. de Chypre Valenciennes 22.05.57 22.11.96
Faisandier Antoine 3122, av. de Corée Toulouse 11.11.60 11.03.00
Narp Sylvie 1, av. de Hongrie Paris 22.03.64 22.06.98
Berthier Ariane 2, av. de Slovaquie Marseille 05.06.72 05.01.02
Colon Jean-Charles 3122, avenue de Corée Toulouse 23.01.70 23.04.99
Cordani Michel 67, av. du Mali Nice 14.04.64 14.10.04
Dubois Marie 2, av. de Lituanie Brest 29.10.59 29.03.97
Narp Sylvie 1, av. de Hongrie Paris 22.03.64 20.06.98

Table Créances :

Société Contact Adresse Ville Code postal Tél. Montant dû
Baldwin Museum of Science Hervé Bouraima 28, av. du Burkina Faso Saint-Denis 93200 01.12.34.56.01 556,78 €
Blue Yonder Airlines Patrice Dupont-Roc 52, av. de Chypre Valenciennes 59300 03.12.34.56.01 1 893,24 €
Coho Winery Antoine Faisandier 3122, av. de Corée Toulouse 31051 05.12.34.56.01 321,79 €
Contoso Pharmaceuticals Sylvie Narp 1, av. de Hongrie Paris 75003 01.22.45.67.01 457,68 €
Fourth Coffee Ariane Berthier 2, av. de Slovaquie Marseille 13012 04.01.23.78.01 98,75 €
Coho Winery Jean-Charles Colon 3122, avenue de Corée Toulouse 31051 05.12.34.56.02 321,79 €
Humongous Insurance Michel Cordani 67, av. du Mali Nice 06004 04.22.56.78.01 297,45 €
Trey Research Marie Dubois 2, av. de Lituanie Brest 29200 02.12.34.56.01 509,09 €
Fourth Coffee Florence Flipo 2 av de Slovaquie Marseille 13012 04.01.23.78.23 98,75 €

Table Clientèle :

Nom Adresse Ville Tél. Télécopie
Baldwin Museum of Science 28, av. du Burkina Faso Saint-Denis 01.12.34.56.01 01.12.34.56.01
Blue Yonder Airlines 52, av. de Chypre Valenciennes 03.12.34.56.01 03.12.34.56.01
Coho Winery 3122, av. de Corée Toulouse 05.12.34.56.01 05.12.34.56.01
Contoso Pharmaceuticals 1, av. de Hongrie Paris 01.22.45.67.01 01.22.45.67.01
Fourth Coffee 2, av. de Slovaquie Marseille 04.01.23.78.01 04.01.23.78.01
Consolidated Messenger 3122, avenue de Corée Toulouse 05.12.34.56.02 05.13.34.56.09
Graphic Design Institute 67, av. du Mali Nice 04.22.56.78.01 04.22.56.78.01
Litware, Inc. 3, av. des États-Unis Brest 02.12.34.56.01 02.12.34.56.23
Tailspin Toys 4, av. des États-Unis Brest 02.12.34.78.33 02.12.34.78.39

Entrez les données d'exemple manuellement.

  1. Sous l'onglet Créer, dans le groupe Tables, cliquez sur Table.

    Image du ruban Access

    Access ajoute une table vide à votre base de données.

     Remarque   Cette étape n'est pas nécessaire si vous ouvrez une nouvelle base de données vide. Elle l'est, en revanche, si vous devez ajouter une table à la base de données.

  2. Double-cliquez sur la première cellule de la ligne d'en-tête et tapez le nom du champ de la table d'exemple.

    Par défaut, Access désigne des champs vides dans la ligne d'en-tête avec le texte Ajouter un nouveau champ, comme suit :

    Nouveau champ dans une feuille de données

  3. Utilisez les touches de direction pour vous déplacer vers la prochaine cellule d'en-tête vide puis tapez le deuxième nom de champ (vous pouvez également appuyer sur Tab ou double-cliquer sur la nouvelle cellule). Répétez cette étape jusqu'à avoir entré tous les noms de champ.
  4. Entrez les données dans la table d'exemple.

    Lorsque vous entrez des données, Access détermine un type de données pour chaque champ. Si les bases de données relationnelles sont nouvelles pour vous, définissez un type de données spécifique, tel que Nombre, Texte ou Date/Heure spécifique. Il garantit l'entrée de données précises et évite également des erreurs tel que l'utilisation d'un numéro de téléphone dans un calcul. Pour ces tables d'exemple, laissez Access déterminer le type de données.

  5. Une fois que vous avec entré les données, cliquez sur Enregistrer.

    Raccourci clavier  Appuyez sur Ctrl+S.

    La boîte de dialogue Enregistrer sous s'affiche.

  6. Dans la zone Nom de la table, tapez le nom de la table d'exemple, puis cliquez sur OK.

    Vous utilisez le nom de chaque table d'exemple car les requêtes des sections pratiques utilisent ces noms.

Créer les feuilles de calcul d'exemple

  1. Démarrez votre programme de calcul et créez un fichier vide. Si vous utilisez Excel, un classeur vide est créé par défaut.
  2. Copiez la première table d'exemple de la section précédente et collez-la dans la première feuille de calcul, en commençant par la première cellule.
  3. En utilisant la méthode fournie par votre programme de calcul, attribuez le même nom que la table d'exemple à la feuille de calcul. Par exemple, si la table s'appelle Catégories, attribuez le même nom à votre feuille de calcul.
  4. Répétez les étapes 2 et 3, en copiant chaque table d'exemple dans une feuille de calcul vierge puis renommez-la.

     Remarque   Il peut être nécessaire d'ajouter des feuillets à votre fichier de calcul. Pour obtenir des informations sur cette tâche, consultez l'aide de votre tableur.

  5. Enregistrez la feuille de calcul à un emplacement approprié sur votre ordinateur ou votre réseau, puis passez aux étapes suivantes.

Créer des tables de base de données à partir des feuilles de calcul

  1. Dans une base de données nouvelle ou existante :

    Sous l'onglet Données externes, dans le groupe Importer, cliquez sur Excel.

    Image du ruban Access

    - ou -

    Cliquez sur Plus puis sélectionnez un tableur dans la liste.

    La boîte de dialogue Données externes - Nom du programme s'affiche.

  2. Cliquez sur Parcourir, ouvrez le fichier de calcul que vous avez créé précédemment, puis cliquez sur OK.

    L'Assistant Importation de feuille de calcul démarre.

  3. Par défaut, l'Assistant sélectionne la première feuille de calcul du classeur (Clientèle, si vous avez suivi les étapes de la section précédente), et les données de cette feuille de calcul s'affichent dans la partie inférieure de la page de l'Assistant. Cliquez sur Suivant.
  4. Dans la page suivante de l'Assistant, cliquez sur Première ligne contient les en-têtes de colonnes, puis sur Suivant.
  5. Dans la page suivante, utilisez éventuellement les zones de texte et les listes situées sous Options des champs pour modifier le nom et le type de données des champs ou pour omettre certains champs de l'opération d'importation. Sinon, cliquez sur Suivant.
  6. Laissez l'option Laisser Access ajouter une clé primaire activée, puis cliquez sur Suivant.
  7. Par défaut, Access applique le nom de la feuille de calcul à la nouvelle table. Acceptez le nom ou entre-en un autre, puis cliquez sur Terminer.
  8. Répétez les étapes 1 à 7 jusqu'à ce que vous ayez créé une table à partir de chaque feuille de calcul du classeur Excel.

Haut de la page Haut de la page

Rechercher et modifier, masquer ou supprimer les données en double dans une table unique

Les procédures présentées dans les sections suivantes décrivent les méthodes les plus communément employées pour rechercher et modifier, masquer ou supprimer les valeurs en double dans une table unique.



Rechercher les enregistrements dont certains champs correspondent en tout ou partie

La procédure qui vise à rechercher les enregistrements dont les valeurs correspondent en tout ou partie se compose des étapes générales suivantes :

  • Créez une requête à l'aide de l'Assistant Requête trouver les doublons. Par défaut, la requête renvoie les enregistrements correspondants, c'est-à-dire ceux dont les champs présentent des valeurs identiques, caractère pour caractère. Si vous avez besoin de rechercher des correspondances partielles, vous pouvez soit utiliser une expression dans votre requête, soit modifier le code SQL (Structured Query Language).
  • Modifiez éventuellement les valeurs de champs ou supprimez des enregistrements dans les résultats de la requête affichés en mode Feuille de données.
  • Modifiez éventuellement le code SQL (Structured Query Language) dans la requête pour rechercher les valeurs qui correspondent en partie. Si vous ne modifiez pas le code SQL, la requête ne renvoie que les enregistrements dont les champs spécifiés présentent des valeurs identiques, caractère pour caractère.

La procédure décrite dans cette section explique comment créer une requête de recherche de doublons et comment la modifier de façon à rechercher les correspondances partielles. La procédure s'appuie sur la table Clientèle reproduite ci-dessous. Pour utiliser cette table dans une base de données, voir la section Préparer des données d'exemple, plus haut dans ce document. Vous pouvez adapter la procédure en fonction de vos données.

Société Contact Adresse Ville Code postal Tél.
Baldwin Museum of Science Hervé Bouraima 28, av. du Burkina Faso Saint-Denis 93200 01.12.34.56.01
Blue Yonder Airlines Patrice Dupont-Roc 52, av. de Chypre Valenciennes 59300 03.12.34.56.01
Coho Winery Antoine Faisandier 3122, av. de Corée Toulouse 31051 05.12.34.56.01
Contoso Pharmaceuticals Sylvie Narp 1, av. de Hongrie Paris 75003 01.22.45.67.01
Fourth Coffee Ariane Berthier 2, av. de Slovaquie Marseille 13012 04.01.23.78.01
Coho Winery Jean-Charles Colon 3122, avenue de Corée Toulouse 31051 05.12.34.56.02
Humongous Insurance Michel Cordani 67, av. du Mali Nice 06004 04.22.56.78.01
Trey Research Marie Dubois 2, av. de Lituanie Brest 29200 02.12.34.56.01
Fourth Coffee Florence Flipo 2, av. de Slovaquie Marseille 13012 04.01.23.78.23

Créer la requête de recherche de doublons

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Assistant Requête.

    Image du ruban Access

  2. Dans la boîte de dialogue Nouvelle requête, cliquez sur Assistant Requête trouver les doublons, puis sur OK.

    Si un message d'alerte s'affiche et indique que la fonctionnalité n'est pas installée, cliquez sur Oui pour installer l'Assistant.

  3. Dans la liste des tables, sélectionnez celle qui contient les données en double, puis cliquez sur Suivant.
  4. Dans la liste des champs disponibles, sélectionnez uniquement le ou les champs où figurent des informations en double. Si vous utilisez la table Clientèle, ajoutez uniquement les champs Société, Adresse et Ville, car ce sont les seuls champs à contenir des valeurs identiques, caractère pour caractère. Cliquez sur Suivant.

     Remarque   Si les champs que vous ajoutez à cette étape ne contiennent pas de correspondances caractère pour caractère, il est possible que la requête ne retourne aucun résultat.

  5. Dans la liste des champs disponibles suivante, sélectionnez le ou les champs contenant les données que vous voulez inspecter ou mettre à jour, ou ceux contenant des données susceptibles de vous aider à distinguer les doublons des enregistrements qui ne sont pas en double. Si vous utilisez la table Clientèle, ajoutez les champs Contact et Tél., car les données contenues dans ces champs peuvent vous aider à repérer les valeurs en double et peut-être à déterminer pour quelles raisons ces valeurs ont été entrées. Cliquez sur Suivant.
  6. Acceptez le nom suggéré (Rechercher les doublons pour Clientèle) ou entrez votre propre nom, puis cliquez sur Terminer pour exécuter la requête. Si vous avez utilisé la table Clientèle, vous obtenez les résultats suivants :
    Société Adresse Ville Contact Tél.
    Fourth Coffee 2, av. de Slovaquie Marseille Ariane Berthier 04.01.23.78.01
    Fourth Coffee 2, av. de Slovaquie Marseille Florence Flipo 04.01.23.78.23

    Au moment de créer la table Clientèle, vous avez peut-être noté la présence de plus de deux enregistrements en double (la table en contient quatre). Vous ne voyez pas les autres doublons, car les valeurs contenues dans le champ Adresse ne correspondent pas caractère pour caractère. Vous pouvez modifier la requête de sorte qu'elle renvoie les valeurs qui correspondent en partie (les étapes suivantes expliquent comment procéder). 

Personnaliser la requête pour rechercher les correspondances partielles

  1. Affichez la requête en mode SQL. Pour ce faire, vous pouvez procéder comme suit :
    • Cliquez avec le bouton droit sur l'onglet du document correspondant à la requête, puis cliquez sur Mode SQL.
    • Dans le volet de navigation, cliquez avec le bouton droit sur la requête, puis cliquez sur Mode SQL.
  2. Modifiez le code SQL pour rechercher et comparer les valeurs partielles.

    Si vous avez utilisé la table Clientèle aux étapes précédentes, l'instruction SQL se présente ainsi :

    SELECT Clientèle.[Société], Clientèle.[Adresse], Clientèle.[Ville], Clientèle.[Contact], Clientèle.[Tél.]
    FROM Clientèle
    WHERE (((Clientèle.[Société]) In (SELECT [Société] FROM [Clientèle] As Tmp GROUP BY [Société],[Adresse],[Ville] HAVING Compte(*)>1 And [Adresse] = [Clientèle].[Adresse] And [Ville] = [Clientèle].[Ville])))
    ORDER BY Clientèle.[Société], Clientèle.[Adresse], Clientèle.[Ville];

    Dans ce cas, la clause WHERE utilise une deuxième instruction SELECT pour comparer chaque enregistrement à tous les autres enregistrements de la table afin d'identifier les jeux de doublons.

    Supposons que vous ayez besoin de modifier le champ Adresse pour renvoyer les correspondances partielles. Le tableau suivant montre comment modifier l'instruction de sorte que seuls les sept premiers caractères du champ doivent correspondre. Les modifications sont indiquées en gras :

    Instruction SQL Description
    SELECT Clientèle.[Société], Clientèle.[Adresse], Clientèle.[Ville], Clientèle.[Contact], Clientèle.[Tél.] Aucune modification. Les mêmes champs sont affichés, y compris le champ Adresse complet pour chaque jeu d'enregistrements en double.
    FROM Clientèle Aucune modification.
    WHERE (((Clientèle.Société) In (SELECT [Société] FROM [Clientèle] As Tmp GROUP BY [Société],Gauche([Adresse],7) ,[Ville] HAVING Le champ ([Adresse]) est remplacé par un appel de fonction qui opère sur le champ Adresse (Gauche([Adresse],7)) pour déterminer la duplication. Le test porte sur les sept premiers caractères du champ Adresse et non sur la valeur entière du champ. Pour comparer un nombre de caractères inférieur, entrez un nombre plus petit. Pour comparer davantage de caractères, entrez un nombre plus grand.
    Compte(*)>1 And Gauche([Adresse],7) =Gauche([Clientèle].[Adresse],7) And [Ville] = [Clientèle].[Ville]))) Pour comparer les sept premiers caractères du champ Adresse d'un enregistrement à celui d'un autre enregistrement, remplacez [Adresse] par l'appel de fonction Gauche([Adresse],7), et remplacez [Clientèle].[Adresse] par l'appel de fonction Gauche([Clientèle].[Adresse],7).
    ORDER BY Clientèle.Société, Clientèle.Adresse, Clientèle.Ville; Aucune modification.
  3. Dès lors que l'instruction est modifiée, cliquez sur Exécuter Image du bouton pour exécuter la requête et afficher les résultats en mode Feuille de données.

    La requête renvoie à présent les quatre enregistrements en double, car elle compare ici les 7 premiers caractères (en partant de la gauche) du champ Adresse :

    Société Adresse Ville Contact Tél.
    Coho Winery 3122, av. de Corée Toulouse Antoine Faisandier 05.12.34.56.01
    Coho Winery 3122, avenue de Corée Toulouse Jean-Charles Colon 05.12.34.56.02
    Fourth Coffee 2, av. de Slovaquie Marseille Ariane Berthier 04.01.23.78.01
    Fourth Coffee 2, av. de Slovaquie Marseille Florence Flipo 04.01.23.78.23

Modifier manuellement les enregistrements

  1. Ouvrez la requête que vous avez créée au cours des étapes précédentes en mode Feuille de données.
  2. Effectuez l'une des opérations suivantes :
    • Pour modifier la valeur d'un champ, sélectionnez ce champ et entrez une nouvelle valeur.
    • Pour supprimer un enregistrement entier (une ligne), cliquez sur le sélecteur de ligne (la case vide située à proximité de la ligne), puis appuyez sur Suppr.

       Remarque   Si vous trouvez un nombre important d'enregistrements en double (plus que vous n'êtes décidé à en supprimer manuellement), vous pouvez supprimer ces enregistrements en créant et en exécutant une requête Suppression. Pour plus d'informations sur la procédure de base à suivre pour créer et exécuter une requête Suppression, voir la section Supprimer des enregistrements en double à l'aide d'une requête Suppression, plus loin dans cette rubrique.

      Pour obtenir des information plus détaillées sur l'utilisation des requêtes Suppression, notamment en ce qui concerne la planification d'une suppression, la modification des relations entre tables et la suppression des données associées, voir l'article Supprimer un ou plusieurs enregistrements d'une base de données à l'aide d'une requête Suppression.

Haut de la section

Afficher les enregistrements uniques en masquant les doublons

La plupart des tables de base de données sont pourvues d'un champ qui identifie de façon unique chaque enregistrement ; il s'agit généralement d'un champ clé primaire. Lorsque vous concevez une requête et que vous masquez ou omettez ces types de champs, il est possible que vous obteniez ce qui s'apparente à des enregistrements en double dans la mesure où les valeurs contenues dans tous les champs renvoyés correspondent.

Par exemple, cette illustration présente les résultats d'une requête parmi lesquels figurent deux commandes (dans la zone rouge) assimilables à des doublons.

Requête basée sur la table Clientèle dont l'exécution renvoie deux enregistrements avec des champs de valeurs identiques

Or, si la requête avait comporté un champ clé primaire indiquant la référence des commandes, par exemple, ou tout autre champ identifiant de façon unique chaque enregistrement (par exemple, la date d'expédition), vous auriez pu constater que ces enregistrements n'étaient pas des doublons. Les étapes de cette section expliquent comment masquer les enregistrements en double lorsque les valeurs de tous les champs renvoyés par la requête correspondent. Par exemple, vous pouvez masquer l'un des enregistrements portant sur Antonio Moreno Taqueria, mais vous ne pouvez pas masquer les enregistrements relatifs à Blauer See Delikatessen, car les champs Adresse contiennent des valeurs différentes.

Rappelez-vous de la règle suivante en cours de procédure : deux enregistrements ou plus sont considérés comme des doublons seulement si tous les champs renvoyés par la requête contiennent les mêmes valeurs. Si les valeurs sont différentes, ne serait-ce que dans un seul champ, chaque enregistrement est unique, et vous ne pouvez pas masquer ces enregistrements en employant les techniques présentées ici. Si vous voulez masquer les enregistrements en double de ce type, vous devez utiliser une requête Totaux avec une fonction d'agrégation, telle que PREMIER, MIN, MAX, et ainsi de suite. Pour plus d'informations à ce sujet, voir la section Afficher les enregistrements distincts en spécifiant le doublon qui doit apparaître dans les résultats, plus loin dans cet article.

Pour afficher uniquement les valeurs uniques dans un jeu de résultats de requête, Access vous propose deux méthodes :

  • Si vous masquez le champ clé primaire (ou tout autre champ qui donne à un enregistrement son caractère unique), affichez cette colonne.
  • Créez une requête Sélection, puis attribuez à la propriété Valeurs distinctes de la requête la valeur Oui. Lorsque la requête trouve des valeurs en double, elle affiche seulement les doublons (les premiers rencontrés) et masque le reste.

La procédure décrite dans cette section explique comment utiliser ces deux techniques.

Afficher les champs masqués

  1. Ouvrez la requête en mode Feuille de données, cliquez avec le bouton droit sur la ligne d'en-tête (ligne contenant les en-têtes de colonnes), puis cliquez sur Afficher les colonnes.
  2. Dans la boîte de dialogue Afficher les colonnes, activez la case à cocher en regard de chaque champ que vous souhaitez ajouter à la feuille de données, puis cliquez sur OK.

Définir la propriété Valeurs distinctes

 Remarque   Dès lors que vous avez attribué à la propriété Valeurs distinctes d'une requête la valeur Oui, vous ne pouvez pas modifier la valeur des champs ni supprimer des données lorsque la requête est affichée en mode Feuille de données. Pour modifier ou supprimer des données, ouvrez la table sous-jacente en mode Feuille de données.

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Assistant Requête.

    Image du ruban Access

  2. Dans la boîte de dialogue Nouvelle requête, cliquez sur Assistant Requête simple, puis sur OK.

    Si un message d'alerte s'affiche et indique que la fonctionnalité n'est pas installée, cliquez sur Oui pour installer l'Assistant.

  3. Dans la liste des tables, sélectionnez celle qui contient les enregistrements en double, puis cliquez sur Suivant.
  4. Dans la liste des champs disponibles, sélectionnez uniquement le ou les champs où figurent des informations en double, puis cliquez sur Suivant.
  5. Cliquez de nouveau sur Suivant sans sélectionner de champs supplémentaires. L'ajout de tout autre champ peut amener Access à considérer certains enregistrements en double comme des enregistrements uniques.
  6. Acceptez le nom suggéré pour la requête, ou entrez le nom de votre choix, cliquez sur Modifier la structure de la requête, puis sur Terminer pour ouvrir la requête en mode Création.
  7. Cliquez avec le bouton droit dans la zone vide située dans la moitié supérieure du Concepteur de requêtes, puis cliquez sur Propriétés.
  8. Dans la feuille de propriétés, recherchez la propriété Valeurs distinctes et attribuez-lui la valeur Oui.

    Affichage de la feuille de propriétés de la requête

  9. Cliquez sur Exécuter Image du bouton pour exécuter la requête et afficher les résultats en mode Feuille de données. Si vos données contiennent des enregistrements en double, un seul de ces enregistrements s'affiche à l'écran.
Haut de la section

Afficher les enregistrements distincts en spécifiant le doublon qui doit apparaître dans les résultats

Lorsque vous avez des enregistrements en double, vous pouvez choisir de n'afficher que les valeurs distinctes, c'est-à-dire, un enregistrement par jeu de doublons. Pour rechercher un enregistrement en double spécifique, vous devez utiliser un type de requête appelé « requête Totaux ». Lorsque vous ajoutez des champs à une requête Totaux, la requête traite chaque champ en tant que groupe, et vous pouvez exécuter un certain type de fonction appelé « fonction d'agrégation » sur les données d'un groupe. De leur côté, ces fonctions peuvent renvoyer un enregistrement issu d'un jeu de doublons. 

Il existe plusieurs façons d'utiliser une requête Totaux et une fonction d'agrégation avec ces données :

  • Utilisez la fonction Premier pour afficher uniquement l'enregistrement entré en premier.
  • Utilisez la fonction Dernier pour afficher uniquement l'enregistrement entré en dernier.
  • Utilisez la fonction Max ou Min pour afficher uniquement l'enregistrement qui présente la valeur la plus petite ou la plus grande dans un champ spécifique. Par exemple, vous pouvez afficher l'enregistrement qui présente la date la plus récente par le biais de la fonction Max, ou celui qui présente la date la plus ancienne au moyen de la fonction Min.
  •  Remarque   Vous ne pouvez pas modifier les données renvoyées par ce type de requête. Pour modifier ou supprimer des données, ouvrez la table sous-jacente en mode Feuille de données.

La procédure décrite dans cette section explique comment rechercher les enregistrements d'origine, les enregistrements les plus récents et les plus anciens. Cette procédure s'appuie sur la table Employés.

Nom de famille Prénom Adresse Ville Date de naissance Date d'embauche
Bouraima Hervé 28, av. du Burkina Faso Saint-Denis 05.02.68 10.06.94
Dupont-Roc Patrice 52, av. de Chypre Valenciennes 22.05.57 22.11.96
Faisandier Antoine 3122, av. de Corée Toulouse 11.11.60 11.03.00
Narp Sylvie 1, av. de Hongrie Paris 22.03.64 22.06.98
Berthier Ariane 2, av. de Slovaquie Marseille 05.06.72 05.01.02
Colon Jean-Charles 3122, avenue de Corée Toulouse 23.01.70 23.04.99
Cordani Michel 67, av. du Mali Nice 14.04.64 14.10.04
Dubois Marie 2, av. de Lituanie Brest 29.10.59 29.03.97
Narp Sylvie 1, av. de Hongrie Paris 22.03.64 20.06.98

Si vous souhaitez utiliser cette table dans une base de données, voir la procédure de la section Préparer des données d'exemple, plus haut dans cet article.

Utiliser une requête Totaux

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création requête.

    Image du ruban Access

  2. Dans la boîte de dialogue Afficher la table, double-cliquez sur la table qui contient les données en double, puis cliquez sur Fermer.

    La table s'affiche dans la section supérieure du Concepteur de requêtes.

  3. Ajoutez uniquement le ou les champs qui contiennent les données en double. Vous pouvez double-cliquer sur un champ ou le faire glisser de la fenêtre de table vers la ligne Champ de la grille de création.

    Si vous utilisez la table d'exemple Employés, ajoutez les champs Nom, Prénom et Date de naissance, car ces champs déterminent la duplication.

  4. Ajoutez le champ qui spécifie vos critères de sélection.

    Dans la table d'exemple Employés, le champ Date d'embauche est ajouté, car il contient deux valeurs différentes pour l'employé.

     Remarque   N'ajoutez pas d'autres champs à la grille. Une requête Totaux ne doit comporter que le ou les champs contenant des données en double et un autre champ contenant les données à utiliser à titre d'exemple.

  5. Sous l'onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Totaux Image du bouton. La ligne Total s'affiche dans la grille de création, tandis que Regrouper apparaît dans les colonnes contenant votre champ de table.
  6. Laissez la ligne Total définie sur Regrouper pour tous les champs, puis cliquez sur Exécuter Image du bouton pour exécuter la requête et afficher les résultats en mode Feuille de données. Si vous avez utilisé les données de la table précédente, la requête renvoie deux fois « Sylvie Narp », car les enregistrements en double qui la concernent présentent des dates d'embauche différentes.
  7. Repassez en mode Création et spécifiez une condition afin de sélectionner un enregistrement parmi les doublons. Pour utiliser les données d'exemple, modifiez la valeur de la colonne Date d'embauche au niveau de la ligne Total en procédant comme suit :
    • Pour afficher l'enregistrement d'origine, faites passer la valeur à Premier.
    • Pour afficher l'enregistrement le plus récemment entré, faites passer la valeur à Dernier.
    • Pour sélectionner un enregistrement en fonction de la valeur d'un champ déterminé, vous devez utiliser la fonction Max ou Min. Dans cet exemple, il s'agit d'afficher l'enregistrement présentant la date d'embauche la plus ancienne. Pour ce faire, faites passer la valeur à Min.
  8. Cliquez sur Exécuter Image du bouton pour exécuter la requête et afficher les résultats en mode Feuille de données.

Si la requête produit les résultats escomptés, vous pouvez la changer en requête Suppression et l'exécuter pour supprimer les enregistrements en double de façon simple et rapide. Pour plus d'informations sur l'exécution d'une requête Suppression, voir la section Supprimer les enregistrements en double à l'aide d'une requête Suppression, plus loin dans cet article.

Haut de la section

Appliquer des fonctions d'agrégation (Compte, Somme, Moyenne) sur des enregistrements en double

En plus de renvoyer un enregistrement spécifique issu d'un groupe de doublons, vous pouvez aussi utiliser des fonctions d'agrégation pour compter le nombre d'enregistrements en double ou pour synthétiser les données d'un jeu de doublons. En règle générale, ces fonctions sont exécutées avant d'entreprendre la consolidation ou la suppression de vos données en double.

Pour effectuer ces tâches, vous devez créer une requête Totaux qui fasse appel aux fonctions d'agrégation, telles que Compte, Somme et Moyenne, pour synthétiser les données en double d'une table.

 Remarque   Vous ne pouvez pas modifier la valeur des champs ou supprimer des enregistrements pendant que vous visualisez une requête Totaux en mode Feuille de données. Pour modifier ou supprimer des données, ouvrez la table sous-jacente en mode Feuille de données.

La procédure décrite dans cette section s'appuie sur la table Montant dû.

Société Contact Adresse Ville Code postal Tél. Montant dû
Baldwin Museum of Science Hervé Bouraima 28, av. du Burkina Faso Saint-Denis 93200 01.12.34.56.01 556,78 €
Blue Yonder Airlines Patrice Dupont-Roc 52, av. de Chypre Valenciennes 59300 03.12.34.56.01 1 893,24 €
Coho Winery Antoine Faisandier 3122, av. de Corée Toulouse 31051 05.12.34.56.01 321,79 €
Contoso Pharmaceuticals Sylvie Narp 1, av. de Hongrie Paris 75003 01.22.45.67.01 457,68 €
Fourth Coffee Ariane Berthier 2, av. de Slovaquie Marseille 13012 04.01.23.78.01 98,75 €
Coho Winery Jean-Charles Colon 3122, avenue de Corée Toulouse 31051 05.12.34.56.02 321,79 €
Humongous Insurance Michel Cordani 67, av. du Mali Nice 06004 04.22.56.78.01 297,45 €
Trey Research Marie Dubois 2, av. de Lituanie Brest 29200 02.12.34.56.01 509,09 €
Fourth Coffee Florence Flipo 2 av de Slovaquie Marseille 13012 04.01.23.78.23 98,75 €

Si vous souhaitez utiliser cette table dans une base de données, voir la procédure de la section Préparer des données d'exemple, plus haut dans cet article.

Créer une requête Totaux

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création requête.

    Image du ruban Access

  2. Dans la boîte de dialogue Afficher la table, double-cliquez sur la table que vous souhaitez utiliser dans la requête, ou cliquez sur Ajouter, puis sur Fermer pour fermer la boîte de dialogue. Si vous utilisez les données d'exemple, ajoutez la table Montant dû à la requête.
  3. Ajoutez les champs contenant les données en double.

    Si vous utilisez la table Montant dû, ajoutez les champs Société et Ville, car ce sont ces champs qui déterminent la duplication.

  4. Ajoutez le champ qui fournit les critères de sélection. Si vous utilisez la table Montant dû, ajoutez le champ Montant dû.
  5. Sous l'onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Totaux Image du bouton. La ligne Total s'affiche dans la grille de création, tandis que Regrouper apparaît dans la ligne de chaque champ.
  6. Effectuez l'une des opérations suivantes, en fonction de vos besoins :
    • Pour compter un nombre d'enregistrements, sélectionnez le champ contenant les valeurs à dénombrer, puis faites passer la valeur du champ situé sur la ligne Total à Compte. Si vous utilisez les données d'exemple, attribuez au champ Montant dû la valeur Compte.
    • Pour calculer un montant total, définissez la valeur du champ à Somme.

     Remarque   Une requête Totaux ne peut afficher que des informations de synthèse. Vous ne pouvez pas afficher les valeurs individuelles.

  7. Cliquez sur Exécuter Image du bouton pour exécuter la requête et afficher les résultats en mode Feuille de données.
Haut de la section

Supprimer les enregistrements en double à l'aide d'une requête Suppression

Après avoir constaté l'existence d'enregistrements en double dans une table, vous pouvez supprimer les données inutiles en créant et en exécutant une requête Suppression. Le processus de création et d'exécution d'une requête Suppression se compose généralement des étapes suivantes :

  • Planifiez la suppression. Au cours de ce processus, tâchez de déterminer si les données que vous voulez supprimer sont associées aux données d'une autre table. Si tel est le cas, vous devez déterminer si les données résident du côté « un » d'une relation un-à-plusieurs ou du côté « plusieurs » de la relation. Si les données résident du côté « un », vous devez activer une propriété au niveau de la relation pour pouvoir supprimer les données. Si les données résident du côté « plusieurs », vous pouvez créer et exécuter votre requête sans effectuer d'actions supplémentaires. Vous pouvez utiliser l'outil Relations pour examiner les relations qui existent au sein d'une base de données. Pour démarrer l'outil Relations, sous l'onglet Outils de base de données, dans le groupe Afficher/Masquer, cliquez sur Relations.

    Pour plus d'informations sur la planification et l'exécution de requêtes Suppression, voir l'article Supprimer un ou plusieurs enregistrements d'une base de données à l'aide d'une requête Suppression.

  • Créez une requête, par exemple, une requête Sélection ou Valeurs distinctes, puis ajoutez des critères ou modifiez-en jusqu'à ce que la requête renvoie uniquement les données que vous souhaitez supprimer.
  • Convertissez cette requête en requête Suppression, puis exécutez cette dernière pour supprimer les données superflues.

 Important   Vous n'avez pas la possibilité d'annuler les résultats d'une requête Suppression. C'est pourquoi vous avez tout intérêt à sauvegarder votre base de données avant d'exécuter la requête Suppression. Pour plus d'informations sur la sauvegarde des bases de données, voir la section Sauvegarder une base de données, plus haut dans cet article.

La procédure suivante explique comment créer une requête Sélection, comment la convertir en requête Suppression et comment l'exécuter pour supprimer des enregistrements.

Créer une requête Sélection

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création requête.

    Image du ruban Access

    Le Concepteur de requêtes s'ouvre, de même que la boîte de dialogue Afficher la table.

  2. Sélectionnez la table du côté « un » de la relation, cliquez sur Ajouter, puis sur Fermer.

    La table s'affiche sous forme de fenêtre dans la partie supérieure de la grille de création de requête. Cette fenêtre contient la liste de tous les champs de la table. Cette figure illustre une table-type dans le Concepteur de requêtes.

    Table dans le Concepteur de requêtes

  3. Double-cliquez sur l'astérisque (*) pour ajouter tous les champs de la table à la grille de création.

    Le fait d'ajouter tous les champs de la table permet à la requête Suppression de supprimer l'intégralité des enregistrements (lignes) de la table.

  4. Ajoutez éventuellement une colonne permettant d'entrer des critères.

    Par exemple, supposons qu'un client mette un terme à son activité et que vous deviez supprimer toutes les commandes en cours de ce client. Pour rechercher uniquement ces enregistrements, vous devez ajouter les champs de référence client et de date de commande à la grille de création.

  5. Si vous avez suivi l'étape précédente, entrez vos critères dans la ligne Critères de la grille de création.

    Pour obtenir le renvoi des seuls enregistrements que vous voulez supprimer, vous devez définir des critères. Sinon, la requête Suppression supprimera tous les enregistrements de la table. Pour reprendre l'exemple de l'étape précédente, vous entreriez la référence du client qui a mis fin à son activité, ainsi que la date à laquelle les commandes de ce client sont devenues caduques.

    Pour plus d'informations sur l'utilisation de critères, voir l'article Supprimer un ou plusieurs enregistrements d'une base de données à l'aide d'une requête Suppression.

  6. Si vous avez suivi l'étape précédente, désactivez la case à cocher Afficher pour chaque champ de critère.
  7. Sous l'onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.

    Vérifiez que la requête renvoie les enregistrements que vous voulez supprimer.

  8. Laissez la requête ouverte, puis passez aux étapes suivantes.

Convertir la requête Sélection en requête Suppression et l'exécuter pour supprimer les données

  1. Cliquez sur Mode Création pour basculer de la feuille de données au Concepteur de requêtes.
  2. Sous l'onglet Créer, dans le groupe Type de requête, cliquez sur Suppression.

    Access transforme la requête Sélection en requête Suppression, masque la ligne Afficher dans la partie inférieure de la grille de création et ajoute la ligne Supprimer.

    Assurez-vous que la ligne Supprimer de la colonne * (tous les champs) indique De. Le mot doit apparaître dans toutes les colonnes de critères.

  3. Après vous être assuré de vouloir supprimer les données, cliquez sur Exécuter Image du bouton pour exécuter la requête et afficher les résultats en mode Feuille de données.

    Access vous demande de confirmer la suppression.

    Cliquez sur Oui pour supprimer les données.

Masquer le message de confirmation

Si vous ne voulez pas qu'un message de confirmation s'affiche chaque fois que vous exécutez une requête Suppression ou toute autre requête Action, procédez comme suit.

  • Cliquez sur le Bouton Microsoft Office Image du bouton, puis sur Options d'accès.

    La boîte de dialogue Options Access s'affiche.

  • Cliquez sur Avancé puis, dans la rubrique Modification, sous Confirmer, désactivez la case à cocher Requêtes action.
  • Cliquez sur OK pour fermer la boîte de dialogue Options Access.
Haut de la section

Empêcher les utilisateurs d'entrer des valeurs en double

Vous pouvez empêcher les utilisateurs d'entrer des données en double en mettant en œuvre plusieurs règles :

  • Faire en sorte qu'un champ ne contienne que des valeurs uniques.  Pour appliquer cette règle, effectuez l'une des opérations suivantes :
    • Désignez le champ comme clé primaire. Cela n'est possible que si la table ne possède pas encore de clé primaire. Pour définir le champ en tant que clé primaire, ouvrez la table en mode Création, cliquez avec le bouton droit sur le nom du champ, puis cliquez sur Clé primaire Image du bouton. Un champ clé primaire n'accepte que les valeurs uniques et signalent aux utilisateurs l'entrée d'une valeur en double.
    • Si la table contient déjà une clé primaire, attribuez à la propriété Indexé du champ la valeur Oui - Sans doublons en mode Création de table. Cette propriété empêche le champ d'accepter une même valeur pour plusieurs enregistrements. Rappelez-vous que dans certains cas, vous devez accepter les doublons. Tel est le cas des champs contenant des données de nom et de ville.
  • Précisez qu'une combinaison de valeurs dans un ou plusieurs champs doit être unique pour chaque enregistrement.  Par exemple, supposons que vous disposiez d'une table qui contient des données de contacts. Vous pouvez désigner une combinaison de champs, telle que Contact, Adresse et Ville, comme étant la clé primaire de la table.

    Cette approche fonctionne du fait de la très faible probabilité que deux contacts du même nom partagent la même adresse dans la même ville.

    Pour créer une clé primaire multi-champ, procédez comme suit :

    1. Ouvrez la table en mode Création.
    2. Cliquez sur le sélecteur de ligne à gauche du premier champ afin de sélectionner la ligne entière.
    3. Maintenez la touche Ctrl enfoncée pendant que vous cliquez sur le sélecteur de ligne pour les autres champs que vous voulez inclure à la clé primaire.
    4. Cliquez avec le bouton droit, puis cliquez sur Clé primaire Image du bouton dans le menu contextuel.

    Cette étape définit la valeur de la propriété Indexé de chaque champ de la clé primaire à Oui (avec doublons). Ainsi, par exemple, vous pouvez entrer un nom, une adresse ou une ville identiques dans plusieurs enregistrements, mais vous ne pouvez pas entrer une même combinaison de nom, d'adresse et de ville dans plusieurs enregistrements. Ainsi, il peut exister deux contacts répondant au nom de Sylvie Narp domiciliés au numéro 323 de l'avenue de la Méditerranée, mais ils ne peuvent pas tous deux habiter à Paris.

Haut de la section

Haut de la page Haut de la page

Rechercher et modifier, masquer ou supprimer les données en double dans plusieurs tables

Les informations fournies dans les sections suivantes décrivent certaines méthodes visant à rechercher et modifier, masquer ou supprimer des enregistrements en double existant dans plusieurs tables. En règle générale, les données contenues dans deux tables ou plus se superposent lors d'une tentative d'intégration d'une base de données à une autre.



Afficher côte à côte les doublons existant dans deux tables

Il est fréquent que deux tables contiennent des données en double ou qui se superposent dans une même base de données. Par exemple, supposons que vous disposiez d'une table Clients et d'une table Clientèle :

Table Clients  

Nom Adresse Ville Tél. Télécopie
Baldwin Museum of Science 28, av. du Burkina Faso Saint-Denis 01.12.34.56.01 01.12.34.78.12
Blue Yonder Airlines 52, av. de Chypre Valenciennes 03.12.34.56.01 03.27.54.08.55
Coho Winery 3122, av. de Corée Toulouse 05.12.34.56.01 05.12.34.56.02
Contoso Pharmaceuticals 1, av. de Hongrie Paris 01.22.45.67.01 01.01.23.78.02
Fourth Coffee 2, av. de Slovaquie Marseille 04.01.23.78.01 04.91.35.20.21
Consolidated Messenger 3122, avenue de Corée Toulouse 05.12.34.56.02 05.13.34.56.09
Graphic Design Institute 67, av. du Mali Nice 04.22.56.78.01 04.22.56.78.01
Litware, Inc. 3, av. des États-Unis Brest 02.12.34.56.01 02.12.34.56.23
Tailspin Toys 4, av. des États-Unis Brest 02.12.34.78.33 02.12.34.78.39

Table Clientèle  

Société Contact Adresse Ville Code postal Téléphone
Baldwin Museum of Science Hervé Bouraima 28, av. du Burkina Faso Saint-Denis 93200 01.12.34.56.01
Blue Yonder Airlines Patrice Dupont-Roc 52, av. de Chypre Valenciennes 59300 03.12.34.56.01
Coho Winery Antoine Faisandier 3122, av. de Corée Toulouse 31051 05.12.34.56.01
Contoso Pharmaceuticals Sylvie Narp 1, av. de Hongrie Paris 75003 01.22.45.67.01
Fourth Coffee Ariane Berthier 2, av. de Slovaquie Marseille 13012 04.01.23.78.01
Adventure Works Jean-Charles Colon 3123, av. de Corée Toulouse 31051 05.12.34.56.02
Humongous Insurance Michel Cordani 67, av. du Mali Nice 06004 04.22.56.78.01
Trey Research Marie Dubois 2, av. de Lituanie Brest 29200 02.12.34.56.01
Fabrikam, Inc. Jérôme Duchemin 9, av. de Mongolie Toulouse 31020 05.23.34.56.01

Notez que dans cet exemple, si les tables individuelles ne contiennent pas de valeurs en double, certains champs des deux tables ont cependant des valeurs qui se superposent. Tel est le cas des données du champ Nom de la table Clients et celles du champ Société de la table Clientèle.

Il n'est pas toujours possible d'intégrer les données de chaque table en fusionnant les deux tables. Par exemple, les informations à jour pour certains clients peuvent se trouver dans la table Clients et celles relatives aux autres clients dans la table Clientèle. En règle générale, il est judicieux d'examiner le contenu des deux tables et de faire le tri entre ce qui doit être conservé et ce qui doit être supprimé.

Pour regrouper les enregistrements des deux tables, il convient de créer une requête Union. La requête placera ainsi les enregistrements en double les uns à côté des autres pour en faciliter l'examen.

 Remarque   Vous ne pouvez pas modifier ou supprimer les données renvoyées par une requête Union. Pour ce faire, ouvrez les tables sous-jacentes en mode Feuille de données.

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création requête.

    Image du ruban Access

    Access crée une nouvelle requête. La boîte de dialogue Afficher la table s'affiche.

  2. Fermez la boîte de dialogue Afficher la table sans ajouter de tables ou de requêtes à la grille de création.
  3. Cliquez avec le bouton droit sur l'onglet du document correspondant à la requête, puis cliquez sur Mode SQL.
  4. Si vous avez utilisé les tables précédentes à titre d'exemple, collez l'instruction SQL suivante dans la fenêtre. Si vous utilisez vos propres données, servez-vous de l'instruction suivante comme guide. Utilisez les clauses SELECT, UNION ALL SELECT et ORDER BY comme indiqué, mais spécifiez vos noms de champs et de tables en remplacement de ceux-ci.

    SELECT [Société], [Adresse], [Ville], [Tél.], FROM [Clientèle]
    UNION ALL SELECT [Nom], [Adresse], [Ville], [Téléphone], FROM [Clients]
    ORDER BY [Société];


    La première instruction SELECT extrait les enregistrements de la table Clientèle, tandis que la deuxième extrait ceux de la table Clients. La clause UNION ALL rassemble tous les enregistrements des deux tables. L'instruction ORDER BY trie les enregistrements de façon à les regrouper et à en faciliter l'examen.

     Remarque   Chaque instruction SELECT doit renvoyer le même nombre de champs et dans le même ordre. Les champs correspondants doivent obligatoirement avoir des types de données compatibles, à une exception près : vous pouvez utiliser un champ de type Numérique et un champ de type Texte comme champs correspondants. De même, gardez à l'esprit que les noms de champs peuvent être différents.

  5. Cliquez sur Exécuter Image du bouton pour exécuter la requête et afficher les résultats en mode Feuille de données.

    Si vous utilisez les enregistrements des tables précédentes, la vue comporte 18 enregistrements : les 9 enregistrements de la table Clientèle et les 9 enregistrements de la table Clients.

    Enregistrez la requête et fermez la vue. La section suivante s'appuie sur cette requête.

Haut de la section

Afficher un seul enregistrement des doublons présents dans deux tables

À certaines occasions, vous pourrez juger utile d'afficher uniquement les enregistrements distincts de deux tables similaires. Si un enregistrement existe dans les deux tables, vous pouvez inclure l'enregistrement de la première table et ignorer l'enregistrement correspondant de la deuxième table.

Les enregistrements de tables différentes ne sont considérés comme des doublons que si la valeur de l'ensemble des champs sélectionnés correspond. Par exemple, si vous incluez les champs Société, Ville, Adresse, Tél. et Fax à la requête, la valeur des cinq champs doit correspondre pour que Microsoft Access considère l'enregistrement comme un doublon.

La procédure décrite dans cette section explique comment modifier la requête de la section précédente dans l'optique d'afficher tous les enregistrements de la table Clientèle, ainsi que les enregistrements uniques de la table Clients.

 Remarque   Vous ne pouvez pas modifier les données renvoyées par une requête Union. Pour ce faire, ouvrez les tables sous-jacentes en mode Feuille de données.

Modifier la requête

  1. Ouvrez la requête que vous avez créée à la section précédente.
  2. Sous l'onglet du document correspondant à la requête, cliquez sur Mode SQL pour afficher l'instruction SQL.
  3. Supprimez les champs [Téléphone] et [Tél.] dans les deux instructions SELECT.
  4. Supprimez le mot ALL situé après le mot UNION pour que la requête ignore les enregistrements en double de la table Clients. L'instruction SQL se présente alors ainsi :

    SELECT [Société], [Adresse], [Ville], FROM [Clientèle]
    UNION SELECT [Nom], [Adresse], [Ville], FROM [Clients]
    ORDER BY [Société];

  5. Cliquez sur Exécuter Image du bouton pour exécuter la requête et afficher les résultats en mode Feuille de données.

    Si vous utilisez les données de l'exemple de la section précédente, la requête renvoie 14 enregistrements sur 18.

Haut de la section

Afficher uniquement les enregistrements en double trouvés dans les deux tables

Lorsque vous avez besoin de rechercher uniquement les valeurs correspondantes de deux tables, vous devez utiliser une jointure interne. Si vous êtes un utilisateur novice d'Access, une jointure interne est une opération qui permet de lier les lignes de deux tables ou plus sous réserve que la valeur des champs joints correspond.

Pour créer une jointure interne, il convient de construire une requête Sélection qui inclue les deux tables, puis de créer une relation entre les champs contenant les valeurs en double. Par défaut, Access crée une jointure interne du moment où vous créez la relation.

 Remarque   Vous ne pouvez pas modifier les champs ou les lignes renvoyés par une requête Sélection disposant d'une jointure interne. Pour modifier les données, ouvrez les tables sous-jacentes et modifiez les valeurs dans chaque table.

Créer une requête comportant une jointure interne

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création requête.

    Image du ruban Access

  2. Dans la boîte de dialogue Afficher la table, double-cliquez sur la table Clientèle et sur la table Clients, puis cliquez sur Fermer pour fermer la boîte de dialogue.
  3. Identifiez les champs dont la valeur présente une correspondance dans les enregistrements en double. Si vous utilisez les tables d'exemple, le champ Société de la table Clientèle correspond au champ Nom de la table Clients.
  4. Faites glisser le champ Société de la première table vers le champ Nom de la deuxième. Access relie les champs par une ligne.

    La ligne entre les tables Clientèle et Clients indique que ces tables sont associées en fonction du nom des clients

    Par défaut, la requête crée une jointure interne entre les deux tables. Celle-ci ne sélectionne que les enregistrements dont la valeur des champs Société et Nom correspondent.

  5. Double-cliquez sur le champ Société pour l'ajouter à la grille de création de requête. Ce champ vous aidera à identifier les enregistrements en mode Feuille de données.
  6. Double-cliquez sur les autres champs souhaités des tables Clientèle et Clients pour les ajouter à la grille de création de requête. Dans ce cas, ajoutez le champ Tél. de la table Clientèle et le champ Téléphone de la table Clients.
  7. Cliquez sur Exécuter Image du bouton pour exécuter la requête et afficher les résultats en mode Feuille de données. La requête renvoie cinq enregistrements, un pour chaque client ayant un enregistrement dans les deux tables.

    Société Téléphone (Clientèle) Tél. (Clients)
    Baldwin Museum of Science 01.12.34.56.01 01.12.34.78.12
    Blue Yonder Airlines 03.12.34.56.01 03.27.54.08.55
    Coho Winery 05.12.34.56.01 05.12.34.56.01
    Contoso Pharmaceuticals 01.22.45.67.01 01.22.45.67.01
    Fourth Coffee 04.01.23.78.01 04.01.23.78.01

Haut de la section

Afficher uniquement les enregistrements d'une table qui n'ont pas d'enregistrements correspondants dans une autre table

Toujours conformément au scénario selon lequel la table Clientèle et la table Clients présentent des données en double, cette section vise à vous expliquer comment afficher les enregistrements de la table Clientèle qui n'ont pas d'enregistrements correspondants dans la table Clients. Cela peut vous aider à prendre des décisions quant à certains clients, en fonction du contenu de la table Clientèle uniquement, avant d'entreprendre la consolidation des deux tables.

Vous pouvez afficher uniquement les enregistrements de la table Clientèle qui n'ont aucune correspondance dans la table Clients en créant une requête de non-correspondance. En utilisant les données d'exemple, ce type de requête extrait tous les enregistrements de la table Clientèle qui n'ont aucune correspondance dans la table Clients.

 Remarque   Vous pouvez modifier la valeur des champs ou supprimer des enregistrements lorsque vous visualisez cette requête en mode Feuille de données.

Créer une requête de non-correspondance

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Assistant Requête.

    Image du ruban Access

  2. Dans la boîte de dialogue Nouvelle requête, cliquez sur Assistant Requête de non-correspondance, puis sur OK.
  3. Cliquez sur la table Clientèle, qui contient les enregistrements qui vous intéressent. Cliquez sur Suivant
  4. Cliquez sur la table Clients, table à laquelle vous souhaitez comparer la table Clientèle. Cliquez sur Suivant
  5. Cliquez sur le champ Société de la table Clientèle, sur le champ Nom de la table Clients, puis sur le bouton <=>. Les tables sont alors jointes en fonction des noms de clients. Cliquez sur Suivant.
  6. Sélectionnez les champs que vous souhaitez afficher dans la vue. Dans ce cas, ajoutez les champs Société, Adresse, Ville et Tél. Cliquez sur Suivant.
  7. Attribuez un nom à la requête et cliquez sur Terminer pour visualiser les enregistrements en mode Feuille de données. Si vous utilisez les tables d'exemple, la requête renvoie quatre enregistrements. Auquel cas, il n'y a pas de superposition entre les enregistrements de la table Clientèle et ceux de la table Clients. 

    Société Adresse Ville Téléphone
    Adventure Works 3123, av. de Corée Toulouse 05.12.34.56.02
    Humongous Insurance 67, av. du Mali Nice 04.22.56.78.01
    Trey Research 2, av. de Lituanie Brest 02.12.34.56.01
    Fabrikam, Inc. 9, av. de Mongolie Toulouse 05.23.34.56.01

Haut de la section

Supprimer les enregistrements en double d'une table et fusionner les autres dans une autre table

Dès lors que vous avez passé en revue les données en double de tables similaires, vous pouvez supprimer les enregistrements en double et fusionner les données restantes dans une table unique. La procédure se compose des étapes générales suivantes :

  • Dans la table à supprimer, mettez éventuellement à jour les données que vous souhaitez fusionner. La mise à jour des données n'est pas abordée dans cette rubrique.

    Pour plus d'informations sur les différentes méthodes de mise à jour des données, consultez l'article Mettre à jour les données d'une base de données.

  • Examinez éventuellement les relations susceptibles d'exister entre la table à supprimer et les autres tables de la base de données. S'il existe une relation, la procédure habituelle consiste à supprimer la relation et à en établir une nouvelle avec l'autre table (celle contenant les données fusionnées). Vous devez toutefois vous assurer que les valeurs de clé primaire de la nouvelle table correspondent à celles des autres tables.
  • Créez une requête Suppression qui fasse appel à la propriété Valeurs distinctes pour rechercher et supprimer les enregistrements correspondants. À cette occasion, vous devez vous assurer de ne pas perturber les relations entre les tables de votre base de données. Par exemple, supposons que vous vouliez déplacer les enregistrements uniques de la table Clients vers la table Clientèle, pour ensuite supprimer la table Clients. Si la table Clients est associée à d'autres tables de la base de données, vous devez veiller à ce que la table Clientèle prenne en compte ces relations. Le concept des relations n'est pas abordé dans cette rubrique.

    Pour plus d'informations, consultez l'article Créer, modifier ou supprimer une relation.

  • Créez une requête Ajout pour ajouter les enregistrements restants de la table à supprimer à la table à conserver. Au cours de ce processus, vous devrez peut-être ajouter le champ et les valeurs de clé primaire pour les données ajoutées à la table à conserver.
  • Supprimez la table superflue.

La procédure décrite dans cette section explique comment créer et utiliser une requête Suppression et une requête Ajout, et comment supprimer une table. Cette procédure s'appuie sur les tables Clientèle et Clients.

Table Clientèle  

Société Contact Adresse Ville Code postal Téléphone
Baldwin Museum of Science Hervé Bouraima 28, av. du Burkina Faso Saint-Denis 93200 01.12.34.56.01
Blue Yonder Airlines Patrice Dupont-Roc 52, av. de Chypre Valenciennes 59300 03.12.34.56.01
Coho Winery Antoine Faisandier 3122, av. de Corée Toulouse 31051 05.12.34.56.01
Contoso Pharmaceuticals Sylvie Narp 1, av. de Hongrie Paris 75003 01.22.45.67.01
Fourth Coffee Ariane Berthier 2, av. de Slovaquie Marseille 13012 04.01.23.78.01
Adventure Works Jean-Charles Colon 3123, av. de Corée Toulouse 31051 05.12.34.56.02
Humongous Insurance Michel Cordani 67, av. du Mali Nice 06004 04.22.56.78.01
Trey Research Marie Dubois 2, av. de Lituanie Brest 29200 02.12.34.56.01
Fabrikam, Inc. Jérôme Duchemin 9, av. de Mongolie Toulouse 31020 05.23.34.56.01

Table Clients  

Nom Adresse Ville Tél. Télécopie
Baldwin Museum of Science 28, av. du Burkina Faso Saint-Denis 01.12.34.56.01 01.12.34.78.12
Blue Yonder Airlines 52, av. de Chypre Valenciennes 03.12.34.56.01 03.27.54.08.55
Coho Winery 3122, av. de Corée Toulouse 05.12.34.56.01 05.12.34.56.02
Contoso Pharmaceuticals 1, av. de Hongrie Paris 01.22.45.67.01 01.01.23.78.02
Fourth Coffee 2, av. de Slovaquie Marseille 04.01.23.78.01 04.91.35.20.21
Consolidated Messenger 3122, all. Jules Guesdes Toulouse 05.38.38.52.21 05.38.38.52.23
Graphic Design Institute 67, av. du Mali Nice 04.22.56.78.01 04.22.56.78.01
Litware, Inc. 3, av. des États-Unis Brest 02.12.34.06.01 02.12.34.06.23
Tailspin Toys 4, av. des États-Unis Brest 02.12.34.78.33 02.12.34.78.39

Si vous souhaitez utiliser ces tables dans une base de données, voir Préparer des données d'exemple, plus haut dans cet article. Pour cet exercice, partons du principe que la table Clientèle contient les informations les plus récentes et que vous voulez donc supprimer les enregistrements correspondants dans la table Clients et fusionner les enregistrements restants de cette dernière dans la table Clientèle. 

Supprimer les données superflues

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création requête.

    Image du ruban Access

  2. Dans la boîte de dialogue Afficher la table, double-cliquez sur la table Clientèle et sur la table Clients, puis fermez la boîte de dialogue.
  3. Joignez les deux tables en faisant glisser le champ Société de la table Clientèle vers le champ Nom de la table Clients.
  4. Cliquez avec le bouton droit dans la zone vide située dans la moitié supérieure de la fenêtre, puis cliquez sur Propriétés. Définissez la valeur de la propriété Enr uniques à Oui.

    En joignant les deux tables et attribuant à la propriété Enr uniques de la requête la valeur Oui, vous évitez l'apparition du message Impossible de supprimer dans les tables spécifiées qui se serait affiché au moment de l'exécution de la requête

  5. Sous l'onglet Créer, dans le groupe Type de requête, cliquez sur Suppression.
  6. Faites glisser l'astérisque (*) de la table Clients vers la ligne Champ de la première colonne de la grille de création de requête.

    L'astérisque (*) figurant dans la Liste de champs représente tous les champs de la table

    Clients s'affiche dans la ligne Table, tandis que De apparaît dans la ligne Supprimer. Cela signifie que la requête supprimera les lignes de la table Clients.

  7. Vous devez à présent désigner les enregistrements que la requête doit supprimer. Pour ce faire, si vous utilisez les tables d'exemple, supprimez les enregistrements dont les champs Nom, Adresse et Ville de la table Clients ont une valeur analogue à celles des champs correspondants de la table Clientèle.

    Faites glisser le champ Nom de la table Clients vers la première cellule vide de la ligne Champ de la grille de création de requête. Faites de même pour les champs Adresse et Ville de la table Clients

  8. Si vous utilisez les tables d'exemple, dans la ligne Critères, pour le champ Nom, tapez [Clientèle].[Société]. Dans la ligne Critères, pour le champ Adresse, tapez [Clientèle].[Adresse]. Dans la ligne Critères, pour le champ Ville, tapez [Clientèle].[Ville]. Votre grille de création de requête se présente alors ainsi :

    Champs et critères déterminant les enregistrements en double

    Lorsque vous exécutez la requête, tous les enregistrements correspondant aux critères de la requête sont supprimés (c.-à.-d., ceux qui ont des valeurs correspondantes dans les trois champs de chaque table. 

  9. Cliquez sur Afficher Image du bouton pour obtenir un aperçu des enregistrements qui seront supprimés lors de l'exécution de la requête, en l'occurrence, les cinq enregistrements en double de la table Clients.
  10. Cliquez sur Exécuter Image du bouton pour exécuter la requête. Cliquez sur Oui lorsque vous êtes invité à confirmer la suppression.
  11. Passez aux étapes suivantes pour créer une requête Ajout.

Ajouter les données restantes

  1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création requête.

    Image du ruban Access

  2. Dans la boîte de dialogue Afficher la table, double-cliquez d'abord sur la table source, puis sur la table contenant les enregistrements à ajouter, et cliquez enfin sur Fermer. Si vous utilisez les données d'exemple, double-cliquez sur la table Clients.
  3. Sous l'onglet Créer, dans le groupe Type de requête, cliquez sur Ajout.
  4. Dans la boîte de dialogue Ajout, dans la liste Nom de la table, sélectionnez la table de destination (table à laquelle vous souhaitez ajouter les données). Si vous utilisez les tables d'exemple, sélectionnez la table Clientèle, puis cliquez sur Fermer.
  5. Déplacez les champs que vous souhaitez ajouter de la table source vers la ligne Champ de la grille de création.

     Important   Déplacez uniquement les champs qui ont un champ correspondant dans la table de destination.

    Si vous utilisez les données d'exemple, déplacez les champs Nom, Adresse et Tél.
  6. Cliquez sur la ligne Ajouter à dans chaque champ et sélectionnez le nom du champ correspondant dans la table de destination. Si vous utilisez les données d'exemple, sélectionnez les champs Société, Adresse et Téléphone, dans l'ordre.
  7. Sachant que vous souhaitez ajouter tous les enregistrements de la table Clients à la table Clientèle, vous n'avez pas besoin de spécifier de critères. Cliquez sur Afficher Image du bouton pour obtenir un aperçu des enregistrements qui seront ajoutés à la table Clientèle lors de l'exécution de la requête.
  8. Enregistrez et fermez la vue.
  9. Recherchez la requête Ajout et double-cliquez dessus. Cliquez sur Oui pour confirmer l'opération d'ajout.

    AfficherJe ne veux pas obtenir de messages de confirmation chaque fois que j'exécute cette requête

    • Cliquez sur le Bouton Microsoft Office Image du bouton, puis sur Options d'accès.
    • Dans la boîte de dialogue Options Access, cliquez sur Modification.
    • Dans la section Modification générale, sous Confirmer, désactivez la case à cocher Requêtes action.

Supprimer la table

  1. Vérifiez que vous disposez des autorisations requises pour supprimer les tables de la base de données, que la base de données n'est pas en lecture seule et qu'aucun autre utilisateur n'a ouvert une table.
  2. Dans le volet de navigation, cliquez sur la table que vous souhaitez supprimer.
  3. Appuyez sur Suppr, puis cliquez sur Oui pour confirmer que vous voulez supprimer la table.

     Remarque   La suppression de tables d'une base de données peut altérer tout ou partie des fonctionnalités de la base de données. C'est pourquoi, il est indispensable de planifier une suppression pour être certain que votre base de données restera fonctionnelle, et vous avez tout intérêt à sauvegarder systématiquement votre base de données avant de supprimer des données ou tout autre composante.

    Pour plus d'informations sur la suppression des données, voir l'article Supprimer un ou plusieurs enregistrements d'une base de données.

Haut de la section

Afficher uniquement les enregistrements distincts lors de la consultation de données issues de tables associées

Une requête regroupant des données issues de deux tables associées est susceptible de renvoyer des enregistrements dont les champs semblent tous correspondre. Or, à y regarder de plus près, peut-être découvrirez-vous que les tables ne contiennent pas réellement d'enregistrements en double. Ce problème se pose lorsque la requête n'inclut pas certains champs, tels qu'une clé primaire, qui sont en mesure d'identifier de façon unique chaque enregistrement. En pareil cas, vous ne souhaiterez probablement pas supprimer les enregistrements, mais vous pourrez faire en sorte de masquer ce qui s'apparente à des doublons.

Par exemple, supposons que vous utilisiez une requête pour regrouper les données des commandes client de deux tables et que vous vérifiez que votre personnel exécute les commandes en temps voulu. Vos clients peuvent passer une commande de plusieurs produits, si bien que chaque produit devient un enregistrement distinct (une ligne) dans les tables sous-jacentes. Étant donné que la commande est passée un même jour et expédiée également un même jour, les enregistrements relatifs à une commande donnée peuvent contenir un grand nombre de dates en double, comme le montre l'exemple suivant :

Champs à valeurs uniques supprimés de la requête Exécution de commande

Sachant que les commandes arrivent un jour donné et qu'elles sont également expédiées un jour donné, il n'est pas nécessaire d'afficher plusieurs enregistrements (lignes) par commande. Pour afficher les enregistrements uniques des tables contenant les données de commande, vous pouvez attribuer à la propriété Enr uniques de la requête la valeur Oui. Lorsque cette propriété a la valeur Oui, la requête analyse toutes les lignes contenues dans les tables et, lorsqu'elle trouve des lignes (pas seulement des champs) correspondantes, la requête exclut toutes les lignes en double de votre jeu de résultats à l'exception d'une.

Attribuer à la propriété Enr uniques la valeur Oui

  1. Après avoir ouvert la requête en mode Création, appuyez sur F4 pour afficher la feuille de propriétés.

  2. Dans la feuille de propriétés, définissez la valeur de la propriété Enr uniques à Oui, puis fermez la feuille de propriétés.

    Affichage de la feuille de propriétés de la requête

Au cours de cette procédure, n'oubliez pas que lorsque la propriété Enr uniques a la valeur Oui, la requête compare les lignes entières, et les lignes de toutes les tables impliquées doivent correspondre avant que la requête n'exclue des données. De même, vous pouvez utiliser la propriété Enr uniques à condition que la requête inclue au moins deux tables.

Lorsque vous passez en mode Feuille de données, seul un enregistrement s'affiche pour chaque commande.

Un enregistrement par commande de la table Commandes

Gardez également à l'esprit que lorsque vous attribuez à la propriété Enr uniques la valeur Oui et que vous exécutez la requête, des enregistrements s'apparentant à des doublons peuvent encore apparaître. Pour reprendre l'exemple précédent, il est possible que vous trouviez toujours des enregistrements avec des dates de commande et d'expédition identiques, comme dans le cas suivant :


La vue contient toujours des enregistrements en double

Cela se produit lorsque vous recevez deux commandes différentes un même jour et que vous les expédiez un même jour. Le fait d'attribuer à la propriété Enr uniques la valeur Oui n'a pas pour effet de masquer ces enregistrements dans les résultats de la requête, car les enregistrements ne sont pas réellement des doublons dans les tables sous-jacentes.

Si vous souhaitez afficher une seule et même occurrence de tels enregistrements (c.-à.-d., un enregistrement de commande par jour), vous devez attribuer à la propriété Valeurs distinctes de la requête la valeur Oui. Lorsque la propriété Valeurs distinctes a la valeur Oui, la requête ne recherche pas les doublons dans les tables sous-jacentes. De fait, elle examine la valeur des champs que vous incluez, et si la valeur de tous les champs de deux enregistrements correspond, la requête masque l'un de ces enregistrements dans la vue.

La propriété Valeurs distinctes se définit de la même façon que la propriété Enr uniques : affichez la feuille de propriétés de la requête et choisissez la valeur Oui. Dans la feuille de propriétés, la zone correspondant à la propriété Valeurs distinctes se trouve au-dessus de celle de la propriété Enr uniques.

La valeur de la propriété Valeurs distinctes est définie à Oui

Pour reprendre l'exemple précédent, seules les dates auxquelles une ou plusieurs commandes ont été reçues ou expédiées sont à présent affichées. Vous ne voyez pas un enregistrement par commande.


Dates auxquelles des commandes ont été reçues et expédiées

 Remarque   Lorsqu'elle a la valeur Oui, la propriété Enr uniques s'applique aux lignes des tables qui fournissent les données à votre requête ; par ailleurs, si la propriété Valeurs distinctes a la valeur Oui, elle s'applique uniquement aux champs de votre requête. De ce fait, vous ne pouvez pas utiliser les deux propriétés de conserve. Si vous attribuez à l'une de ces propriétés la valeur Oui, Access attribue automatiquement à l'autre propriété la valeur Non. Toutefois, il est possible de leur attribuer à toutes les deux la valeur Non pour que tous les enregistrements soient renvoyés.

Le tableau suivant présente un récapitulatif destiné à vous aider à choisir les paramètres des propriétés Enr uniques et Valeurs distinctes d'une requête.

Si votre requête est basée sur... Et que vous souhaitez afficher... Définissez... Résultat...
deux tables ou plus, mais que toutes les champs de la requête sont issus d'une table unique les enregistrements distincts de la table (tous les champs de la table doivent correspondre pour deux enregistrements pour être considérés comme des doublons) la valeur de Enr uniques à Oui. (Access attribue automatiquement à Valeurs distinctes la valeur Non). Si la table contient des enregistrements en double, la requête ignore les doublons. Cependant, si la requête n'inclut pas de champ identifiant de façon unique les enregistrements, il est possible que les résultats de la requête fassent toujours apparaître des enregistrements dont les champs correspondent tous.
une ou plusieurs tables les enregistrements distincts en mode Feuille de données de requête (tous les champs affichés en mode Feuille de données doivent correspondre pour deux enregistrements pour être considérés comme des doublons) la valeur de Valeurs distinctes à Oui. (Access attribue automatiquement à Enr uniques la valeur Non). La requête exclut les enregistrements en double (quand tous les champs correspondent) en mode Feuille de données. Toutefois, gardez à l'esprit que la liste d'enregistrements distincts de la table sous-jacente affichée à l'écran n'est pas censée être exhaustive.
une ou plusieurs tables tous les enregistrements la valeur de Valeurs distinctes à Non et la valeur de Enr uniques à Non. Tous les enregistrements uniques et en double des deux tables sont affichés.
Haut de la section

Afficher un enregistrement spécifique ou une synthèse des données en double dans des tables associées

Lorsque vous examinez les données en double dans des tables associées, vous pouvez souhaiter afficher un enregistrement spécifique du jeu de doublons, comme afficher une synthèse des données en double par le biais de la fonction Compte, Somme ou de tout autre fonction d'agrégation.

Tout comme dans le scénario décrit dans la section précédente, il est possible que les tables ne contiennent pas réellement de données en double, mais lorsque vous examinez les données de deux tables partageant une relation un-à-plusieurs, telles que les tables Commandes et Détails des commandes, il est possible que vous constatiez que plusieurs enregistrements ont plusieurs champs correspondants. Par exemple, un employé peut avoir reçu plusieurs commandes d'un même client, ou ce même employé peut avoir vendu le même produit pour différentes commandes le même jour, etc. Si les requêtes répertoriées ci-dessous vous intéressent et si vous souhaitez pouvoir y répondre en recherchant des données, vous devez afficher une synthèse des données au lieu de supprimer les données en double.

  • Rechercher la quantité totale de chaque produit vendu par chaque employé.
  • Déterminer le nombre total de commandes que chaque employé a traitées pour chaque client.
  • Rechercher la plus grosse commande du jour pour chaque employé.

Pour synthétiser les données, vous devez utiliser une requête Totaux semblable à celles mentionnées dans la section Afficher les enregistrements distincts en spécifiant le doublon qui doit apparaître dans les résultats, plus haut dans cet article. Cette section expliquait comment utiliser une requête Totaux avec une table unique. Pour créer une requête Totaux contenant plusieurs tables, procédez comme suit :

  • Pensez à ajouter la deuxième table lors de l'ajout de la première dans la boîte de dialogue Afficher la table.
  • Lorsque vous ajoutez les champs qui déterminent la duplication, faites glisser les champs souhaités de chaque table et, pour tous les champs, définissez la valeur de la ligne Total de la colonne à Regrouper.
  • Le champ identifiant l'enregistrement que vous souhaitez afficher ou dont vous voulez synthétiser les valeurs peut provenir de l'une des deux tables.
Haut de la section

Haut de la page Haut de la page

publicité