SUPPRIMER LES DOUBLONS D'UNE TABLE SANS CLÉ

cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018 - 12 mai 2004 à 08:57
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 - 14 mai 2004 à 18:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/22702-supprimer-les-doublons-d-une-table-sans-cle

cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
14 mai 2004 à 18:32
1/
bein le mieux serait d'ajouter une contrainte d'unicité ou une clé primaire....
d'autant plus que si l'un des champs de ta table est utilisée comme foreign key, ton process ne fonctionnera pas...
de plus, tu utilises un champs de recherche donc ce champs doit être unique d'où la contrainte d'unicité...
2/
le processus que tu mets en place peut être trèèèèèèès long (essaie avec une table avec 1'000'000 d'enregistrements)
3/
c'est pas très 'souple', ta requête et tes champs sont 'hardcodés'.
4/merci quand même ....:)
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
14 mai 2004 à 18:32
1/
bein le mieux serait d'ajouter une contrainte d'unicité ou une clé primaire....
d'autant plus que si l'un des champs de ta table est utilisée comme foreign key, ton process ne fonctionnera pas...
de plus, tu utilises un champs de recherche donc ce champs doit être unique d'où la contrainte d'unicité...
2/
le processus que tu mets en place peut être trèèèèèèès long (essaie avec une table avec 1'000'000 d'enregistrements)
3/
c'est pas très 'souple', ta requête et tes champs sont 'hardcodés'.
4/merci quand même ....:)
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
14 mai 2004 à 18:32
1/
bein le mieux serait d'ajouter une contrainte d'unicité ou une clé primaire....
d'autant plus que si l'un des champs de ta table est utilisée comme foreign key, ton process ne fonctionnera pas...
de plus, tu utilises un champs de recherche donc ce champs doit être unique d'où la contrainte d'unicité...
2/
le processus que tu mets en place peut être trèèèèèèès long (essaie avec une table avec 1'000'000 d'enregistrements)
3/
c'est pas très 'souple', ta requête et tes champs sont 'hardcodés'.
4/merci quand même ....:)
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
12 mai 2004 à 10:32
Un lien sur elle-même : il faut ajouter deux fois la table dans l'éditeur de requete et faire le joint sur la clé, meme si ce n'est pas une vrai clé : c'est justement le champ à dédoublonner.
Il y a sans doute un moyen de conserver la première occurence et de supprimer les suivantes. Sans utiliser de requete, il y a une astuce qui marche à tout les coups :
DÉDOUBLONNER FACILEMENT UNE TABLE MS ACCESS ET VOIR LA LISTE DES DOUBLONS
www.vbfrance.com/code.aspx?ID=16634
cs_rahou Messages postés 12 Date d'inscription mercredi 10 décembre 2003 Statut Membre Dernière intervention 28 octobre 2006
12 mai 2004 à 09:21
Il faut se dire que la table n'a pas de clé. Et que qu'il faut supprimer toutes les lignes dédoublées et en garder une.
Avec une requête du genre "DELETE FROM Un_nom_deTable where UnchampDeRecherche='" & ChampDeRecherche & "'", Toutes les lignes ayant la valeur ChampDeRecherche dans la colonne UnChampDeRecherche sont supprimées. Donc l'astuce est de stocker cette valeur dans des variables et d'ajouter les valeurs contenues dans ces variables dans la table après lancement de la requête de suppression.
mais je veux aussi savoir ce que signifie "un lien sur elle-même"?
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
12 mai 2004 à 08:57
Je me demande si l'on ne peut pas y arriver en écrivant une simple requête avec un lien sur elle-même, avis aux amateurs !
Rejoignez-nous