Suite à la demande d’un abonné, nous allons découvrir comment trouver et supprimer des doublons sur une table Access. Si vous travaillez sur une base de données Access volumineuse comportant de nombreux enregistrements, vous pouvez avoir besoin de la nettoyer notamment au niveau des doublons.
Deux options s’offrent à vous :
- Soit vous souhaitez simplement connaître les doublons et vous les supprimerez vous-même ;
- Soit vous souhaitez détecter les doublons et les supprimer.
Vous retrouverez la base de données utilisée dans l’Espace membres.
Détecter les doublons d’une table Access :
Ouvrez votre base de données et, dans l’onglet Créer, cliquez sur Assistant requête
.
Dans la boîte de dialogue, sélectionnez Assistant Requête trouver les doublons et cliquez sur Ok.
Choisissez la table ou requête contenant vos doublons, dans ce cas, il s’agit de la Table Clients, et cliquez sur Suivant.
Choisissez les champs susceptibles de contenir des doublons. Pour cet exemple, j’ai dupliqué la ligne entière donc tous les champs sauf CP et Villes (plusieurs clients peuvent habiter la même ville) feront l’affaire. Je sélectionne le champ Nom par un double-clic et clique sur Suivant.
Choisissez les champs à afficher dans la requête finale. Si vous ne sélectionnez rien, vous n’aurez que le champ dupliqué, à savoir Nom. Ce qui n’est pas très pratique, car vous pouvez avoir des homonymes qui ne seraient pas forcément des doublons. Je sélectionne donc tous les champs en cliquant sur
, puis Suivant.
Donnez un nom à votre requête, laissez coché Afficher les résultats et cliquez sur Terminer.
Votre requête est terminée :
Vous avez toujours vos doublons dans la Table Clients. Vous pourrez rouvrir la requête à tout moment et, si vous modifiez le champ sur lequel porte la recherche de doublons que ce soit dans la table ou dans la requête, à la réouverture de la requête, celle-ci se mettra à jour avec les champs modifiés en moins. Si vous n’avez pas beaucoup de doublons, vous pouvez tout à fait supprimer les lignes d’enregistrement une par une soit dans la table, soit dans la requête.
Détecter et supprimer les doublons d’une table Access :
Comme l’indique l’aide d’Office, vous ne pouvez pas vous servir de cette requête pour créer une requête de suppression car cela supprimera tous les champs en double et ne laissera même pas un enregistrement unique.
Étant donné qu’une clé primaire ne peut pas contenir des doublons, nous allons nous servir de cela pour nettoyer la table.
Créez une copie de la table contenant les doublons en cliquant droit dessus, dans le panneau de navigation > Copier. Puis, cliquez droit sur un espace vide du panneau de navigation > Coller.
Dans la boîte de dialogue qui s’ouvre, vous pouvez donner un nom à cette copie sachant que la table qui va être créée sera la même table sans les doublons et qu’elle sera donc la table définitive et que vous ne pouvez pas la renommer comme la table d’origine puisqu’elle existe encore (vous pourrez le faire par la suite). Cochez Structure seulement et cliquez sur Ok.
Ouvrez cette copie : vous vous retrouverez, pour l’instant, avec une table contenant les mêmes champs, mais complètement vide.
Passez en Mode création par un clic droit sur l’onglet > Mode création . Déplacez la clé primaire qui se trouve sur N° client à Nom (qui est le champ sur lequel nous souhaitons porter la recherche). Comme la présence d’une seule clé primaire est possible, placez-vous directement sur le champ Nom et cliquez sur Clé primaire
.Puis, fermez la table en cliquant droit sur l’onglet > Fermer et enregistrez les modifications.
Nous allons maintenant créer une requête d’ajout. Allez dans l’onglet Créer et cliquez sur Création de requête . Dans la boîte de dialogue, choisissez la table d’origine (Clients), cliquez sur Ajouter, puis Fermer et, dans le ruban, sélectionnez Ajout .
Dans la boîte de dialogue, choisissez la table créée (Copie de Clients) et cliquez sur Ok. Comme je souhaite reprendre tous les champs, je fais glisser l’astérisque (*) située au début de la table Clients vers l’emplacement du premier champ de la requête. Cela permet d’ajouter tous les champs sans avoir à cliquer sur chacun d’eux.
Attention : cette manipulation n’est pas à effectuer pour toutes les requêtes car vous ne pouvez pas indiquer de critère sur un astérisque.
Enfin, cliquez sur Exécuter .
Une première boîte de dialogue vous indique que vous allez copier 24 lignes ce qui correspond à tous les enregistrements de la table d’origine. Cliquez sur Oui.
Puis, une seconde boîte de dialogue vous informe que tous les enregistrements ne seront pas intégrés : c’est normal puisque nous avons créé la clé primaire sur le champ Nom. Cliquez sur Oui.
Fermez la requête en cliquant droit sur l’onglet. Il n’est pas nécessaire d’enregistrer celle-ci surtout si vous comptez supprimer la table d’origine car Access ne retrouvera plus la table.
Votre table copiée contient désormais des enregistrements uniques :
Vous pouvez supprimer la table d’origine et renommer la nouvelle table comme bon vous semble.
Téléchargez « Rechercher et supprimer les doublons sur Access » au format PDF
Je vous propose un fichier annexe dans l’Espace Membres contenant la base de données utilisée dans ce tutoriel.