Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Suppression de doublons dans une table

3 réponses
Avatar
Isa
Bonjour,

Je souhaiterais savoir si vous avez une solution pour le pb suivant.
Je voudrais supprimer des doublons d'une table.
Par exemple, j'ai :

N ° Nom Prénom Ville Contacté
1 DUPONT Jean Paris Oui
2 DUPONT Jean Paris Non
3 DUPONT Jean Paris Non
4 DURAND Paul Paris Non
5 DURAND Paul Paris Non
6 MARTIN Pierre Paris Oui
7 MARTIN Pierre Paris Non


L'unicité se fait sur les champs Nom, Prénom et Ville.
Je veux supprimer les doublons de personne lorsque celle-ci a été contactée.
Donc dans l'exemple ci-dessus, ce serait les lignes 2,3 et 7 qui seraient
supprimées.
Les lignes 4 et 5 resteraient car la personne n'a pas encore été contactée.
Avez-vous une solution à mon problème ?
Je sais qu'il y a la requête de doublons d'Access et que l'on peut supprimer
à ma main les doublons mais dans mon cas, c'est impossible à la main car il y
a 50000 lignes dans la table.
D'avance merci de vos réponses.

Isa.

3 réponses

Avatar
Eric
Bonjour Isa,

En premier lieu , prendre soin de faire une copie de la table, sait-on
jamais ;-)

Tu peux essayer ce SQL en remplacant feuil2 par le nom de ta table. Je
suppose que le champ contacté est un booléen.

DELETE *
FROM feuil2
WHERE [nom] & [prénom] & [ville] in(
SELECT [nom] & [prénom] & [ville] from feuil2
WHERE Contacté=True) AND contactéúlse;

Bonjour,

Je souhaiterais savoir si vous avez une solution pour le pb suivant.
Je voudrais supprimer des doublons d'une table.
Par exemple, j'ai :

N ° Nom Prénom Ville Contacté
1 DUPONT Jean Paris Oui
2 DUPONT Jean Paris Non
3 DUPONT Jean Paris Non
4 DURAND Paul Paris Non
5 DURAND Paul Paris Non
6 MARTIN Pierre Paris Oui
7 MARTIN Pierre Paris Non


L'unicité se fait sur les champs Nom, Prénom et Ville.
Je veux supprimer les doublons de personne lorsque celle-ci a été contactée.
Donc dans l'exemple ci-dessus, ce serait les lignes 2,3 et 7 qui seraient
supprimées.
Les lignes 4 et 5 resteraient car la personne n'a pas encore été contactée.
Avez-vous une solution à mon problème ?
Je sais qu'il y a la requête de doublons d'Access et que l'on peut supprimer
à ma main les doublons mais dans mon cas, c'est impossible à la main car il y
a 50000 lignes dans la table.
D'avance merci de vos réponses.

Isa.


--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Isa
Merci pour ta réponse.
J'ai fait ce que tu m'as suggéré mais le temps d'exécution de la requête est
énorme. Je ne la vois pas avancer en 10 minutes (ceci sans doute à cause du
nb de lignes de la table).
Je vais essayer la même chose mais dans du code VBA pour voir si c'est +
rapide.
Bye.

Isa.




Bonjour Isa,

En premier lieu , prendre soin de faire une copie de la table, sait-on
jamais ;-)

Tu peux essayer ce SQL en remplacant feuil2 par le nom de ta table. Je
suppose que le champ contacté est un booléen.

DELETE *
FROM feuil2
WHERE [nom] & [prénom] & [ville] in(
SELECT [nom] & [prénom] & [ville] from feuil2
WHERE Contacté=True) AND contactéúlse;

Bonjour,

Je souhaiterais savoir si vous avez une solution pour le pb suivant.
Je voudrais supprimer des doublons d'une table.
Par exemple, j'ai :

N ° Nom Prénom Ville Contacté
1 DUPONT Jean Paris Oui
2 DUPONT Jean Paris Non
3 DUPONT Jean Paris Non
4 DURAND Paul Paris Non
5 DURAND Paul Paris Non
6 MARTIN Pierre Paris Oui
7 MARTIN Pierre Paris Non


L'unicité se fait sur les champs Nom, Prénom et Ville.
Je veux supprimer les doublons de personne lorsque celle-ci a été contactée.
Donc dans l'exemple ci-dessus, ce serait les lignes 2,3 et 7 qui seraient
supprimées.
Les lignes 4 et 5 resteraient car la personne n'a pas encore été contactée.
Avez-vous une solution à mon problème ?
Je sais qu'il y a la requête de doublons d'Access et que l'on peut supprimer
à ma main les doublons mais dans mon cas, c'est impossible à la main car il y
a 50000 lignes dans la table.
D'avance merci de vos réponses.

Isa.


--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
jean.paulo
Voici le code utile. Créer une requète Q_xref_tri qui trie la table en ordre
croissant selon
les critères choisis. (Nom, Prénom, Ville)

La barre permet de vérifier la progression. Je pense que une ou 2 minutes
sont à prévoir
pour cette suppression.

Function Remove_xref_dup()
'
' Cette fonction supprime les doublons complets dans la table Table_xref
' film et noms, ainsi que la table des alias
'
Dim bd As Database, frd As Recordset
Dim Old_refer As Double
Dim Old_livre As String
Dim old_numero As Double
Dim old_index As Double
Dim old_autre As Double
Dim old_maitre As Double
Dim numa1, numrec, recount, temp, tempi As Integer
Set bd = CurrentDb()
'
' doublons de la table des Xrefs
'
Set frd = bd.OpenRecordset("Q_xref_tri", dbOpenDynaset)
frd.MoveFirst
frd.MoveLast
' ceci pour ajouter la barre
recount = frd.RecordCount
temp = SysCmd(SYSCMD_INITMETER, "Enlever les doubles Xref film",
recount)
temp = SysCmd(SYSCMD_UPDATEMETER, 0)
frd.MoveFirst
numrec = 1
Old_refer = 0
Old_livre = ""
old_numero = 0
Do Until frd.EOF
numrec = numrec + 1
tempi = numrec / 100
If tempi = Int(tempi) Then
temp = SysCmd(SYSCMD_UPDATEMETER, numrec)
End If
frd.Edit
If frd![nom] = Old_refer And frd![Prénom] = Old_livre And
frd![Ville] = old_numero and frd![Contacté] = "Oui" Then
frd.Delete
Else
Old_refer = frd![Nom]
Old_livre = frd![Prénom]
old_numero = frd![Ville]
End If
frd.MoveNext
Loop
frd.Close
temp = SysCmd(5)

Bonne chance !

--
Jean.paulo

"Isa" a écrit dans le message de
news:
Merci pour ta réponse.
Je vais essayer la même chose mais dans du code VBA pour voir si c'est +
rapide.
Bye.

Isa.



Bonjour,

Je souhaiterais savoir si vous avez une solution pour le pb suivant.
Je voudrais supprimer des doublons d'une table.
Par exemple, j'ai :

N ° Nom Prénom Ville Contacté
1 DUPONT Jean Paris Oui
2 DUPONT Jean Paris Non
3 DUPONT Jean Paris Non
4 DURAND Paul Paris Non
5 DURAND Paul Paris Non
6 MARTIN Pierre Paris Oui
7 MARTIN Pierre Paris Non


L'unicité se fait sur les champs Nom, Prénom et Ville.
Isa.


--
A+
Eric
http://users.skynet.be/mpfa/
Archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr