|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Marc BaraInscription : mai 2011 Messages : 124 ![]() |
Bonjour à tous, voici mon probleme, je possede une base de données contenant environ 5 000 lignes, qui contiennent des identifiants de particuliers, c'est à dire juste une table contenant toutes les données.
Je sais que dans cette table, il existe des doublons, car des personnes ont été ajouté, alors qu'elles étaient déja présentes. J'ai réussi avec l'assistant de requête d'afficher les doublons dans une seconde table, et il en apparait donc environ 900. Les doublons sont la en double, c'est à dire qu'on a deux fois "toto" avec meme adresse etc etc...., et j'aimerais actualiser la base de données afin de supprimer le doublon et donc n'avoir plus que des identifiants uniques. J'ai d'abord essayé avec une requete d'ajout trouvé sur internet, dont je fournirai les détails si demandé. Mais pour le moment, je reste toujours bloqué car il ne fait qu'ajouter les 900 lignes a la base de données, au lieu de les supprimer pour avoir un seul identifiant par personne, donc plus de doublons. Sauriez vous comment faire ? Dois je créer une requete ? en sachant que je débute, en termes de SQL, je ne connais que les bases. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 184 ![]() |
Bonjour Colapsus,
Ta table initiale (celle qui contient les doublons) possède-t-elle une clé primaire ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Marc BaraInscription : mai 2011 Messages : 124 ![]() |
Non du tout, vu que ces informations ont toutes été rentrée a la main sur une échelle de 6 mois, car il s'agit de mise en relation avec des clients particuliers. Elle ne possede donc aucune clef primaire a la base.
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 184 ![]() |
Je te suggère, donc, d'ajouter un champ de type "numéro automatique" et de le spécifier en clé primaire : de toute façon tu en auras besoin à un moment ou à un autre.
Ensuite, tu relances ton traitement de génération de ta table contenant les doublons (celle qui contient environ 900 enregistrements) en stockant ce nouveau champ. ==> x lignes par critère que tu as considéré comme définissant le doublon, avec la clé primaire. Ensuite, tu crées un requête de regroupement groupée par les critères que tu as considéré comme définissant le doublon, avec Max(NouveauChamp). ==> 1 ligne par critère que tu as considéré comme définissant le doublon, avec la clé primaire. Enfin, une requête suppression qui supprime, dans ta table initiale, l'enregistrement défini par Max(NouveauChamp).
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Marc BaraInscription : mai 2011 Messages : 124 ![]() |
Désolé, mais je ne comprends pas vraiment comment fonctionne la manoeuvre, je suis en BTS IG développeur d'application, et on a vu tres peu la manipulation sous acces, et la gestion des BDD, et tres peu en SQL =(
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 184 ![]() |
Sous Access, en création de table, ajoutes, dans un premier temps, un champ de type "numéro auto" et spécifie-le en clé primaire (pour ta table initiale, celle qui contient environ 5 000 lignes).
OK ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Marc BaraInscription : mai 2011 Messages : 124 ![]() |
ok, c'est fait, ensuite j'utilise l'assistant de requete pour les doublons ?
|
|
|
00
|
|
|
#8 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 184 ![]() |
Citation:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Marc BaraInscription : mai 2011 Messages : 124 ![]() |
je ne suis pas sur de ce qu'il faut faire par rapport a ce que tu me dis, je lance l'assistant de requête, je choisis ma table, lorsqu'il me demande les champs susceptibles d'avoir des doublons, je mets nom, prénom, adresse, et ensuite, en cliquant sur suivant, j'ai aussi les champs que je peux faire apparaitre dans le tableau qui mettra en évidence les doublons. Dois je mettre le nouveau champ dans cette partie ?
|
|
|
00
|
|
|
#10 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 184 ![]() |
Dans ton premier post, tu dis :
Citation:
OK ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Marc BaraInscription : mai 2011 Messages : 124 ![]() |
Oui, je vais dans l'onglet créer, il y a deux boutons
Assistant Requête et Création de requêtes Je cliques sur Assistant requête, je choisis Assistant requête trouver les doublons et je suis les étapes |
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Marc BaraInscription : mai 2011 Messages : 124 ![]() |
Me voila donc avec mes 871 lignes, trier par nom afin de voir toutes les répétitions.
et que dois je faire d'autre ensuite ? |
|
|
00
|
|
|
#13 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 184 ![]() |
Citation:
==> as-tu créé une table qui contient ces 871 lignes ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Marc BaraInscription : mai 2011 Messages : 124 ![]() |
Oui oui, j'ai déja fait tout ça, mais apres que dois je faire ?
|
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 184 ![]() |
Ensuite, tu crées un requête de regroupement groupée par les critères que tu as considéré comme définissant le doublon, avec Max(NouveauChamp).
==> 1 ligne par critère que tu as considéré comme définissant le doublon, avec la clé primaire. OK ? ==> la suite, demain.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#16 |
![]() ![]() |
Bonjour
Le plus simple ne serait pas de créer une table sur le même modèle que la précédente. Puis de créer un index sur les champs Nom, prénom, etc... avec unique comme critère. Et ensuite de coller les données dans cette table ? Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#17 |
|
Invité régulier
![]() Marc BaraInscription : mai 2011 Messages : 124 ![]() |
Oui et non, car ma table possede 16 champs, le tout sur 5000 lignes, par exemple, deux personnes travaillent dans la meme entreprise, donc si je mets entreprise comme critere de selection, l'une des deux sera supprimé, comme deux personnes peuvent avoir le meme nom, de meme, tous les champs ne sont pas remplis, je dois donc prendre en compte le fait que le numéro de téléphone ou l'adresse ne soient pas présentes.
Ya t'il une façon de dire au programme, que l'on peut supprimer le doublon si le nom et le prénom sont les memes, en utilsant "valide si" dans l'index ? |
|
|
00
|
|
|
#18 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 184 ![]() |
Bonjour Colapsus et Philippe,
Bien essayé, Philippe, mais la copie se planterait à cause de l'index unique, non ? Colapsus, tu as donc bien ,maintenant, une requête qui présente 1 ligne par critère que tu as considéré comme définissant le doublon, avec Max(NouveauChamp). OK ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Marc BaraInscription : mai 2011 Messages : 124 ![]() |
Non, parceque je ne comprends pas comment je dois la faire, j'en suis à l'étape ou a la fin de ma requete de doublons j'ai :
- mes champs susceptibles de contenir des doublons (nom, prénom, adresse, entreprise) - plus le numéro auto incrément que tu m'a dit de créer. Et apres cela, je suis perdu |
|
|
00
|
|
|
#20 | |||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 184 ![]() |
Citation:
Citation:
Citation:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com