Suppression doublons entre 2 tables
Fermé
LoicL89
Messages postés
15
Date d'inscription
jeudi 14 mai 2015
Statut
Membre
Dernière intervention
16 mai 2015
-
15 mai 2015 à 21:23
Tessel75 - 16 mai 2015 à 11:55
Tessel75 - 16 mai 2015 à 11:55
A voir également:
- Access supprimer les doublons
- Supprimer les doublons excel - Guide
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Supprimer les doublons photos gratuit - Télécharger - Nettoyage
- Doublons photos - Guide
7 réponses
jee pee
Messages postés
40288
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
5 octobre 2024
9 360
15 mai 2015 à 22:22
15 mai 2015 à 22:22
Bonjour,
A essayer, je ne sais pas si EXISTS fonctionne avec Access
cdlt
A essayer, je ne sais pas si EXISTS fonctionne avec Access
DELETE FROM Essai5m E5 WHERE EXISTS (select * from Essai2m E2 where E5.ID=E2.ID and E5.X=E2.X and E5.Y=E2.Y and E5.Z=E2.Z)
cdlt
LoicL89
Messages postés
15
Date d'inscription
jeudi 14 mai 2015
Statut
Membre
Dernière intervention
16 mai 2015
15 mai 2015 à 22:26
15 mai 2015 à 22:26
Bonsoir et merci pour la réponse. Je viens d'essayer et Access me demande toujours d'entrer une valeur de paramètre...
Bonjour,
La fonction "exists" n'existe pas dans Access.
Par contre en utilisant l'assistant création de requête, il y a un assistant "Recherche Doublons". Il suffit alors de suivre les indications de l'assistant.
La difficulté est que si tu veux supprimer les doublons, il n'y a pas de fonction simple pour le faire. Alors soit le faire à la main, soit goupiller une fonction suppression à partir de la table des doublons. Mais attention à ne pas tout supprimer.
Selon la construction de ta table, tu peux utiliser les propriétés des champs des tables en construisant un index, soit simple soit multiple, avec le caractère "Ne pas autoriser les doublons"
Bonne suite
La fonction "exists" n'existe pas dans Access.
Par contre en utilisant l'assistant création de requête, il y a un assistant "Recherche Doublons". Il suffit alors de suivre les indications de l'assistant.
La difficulté est que si tu veux supprimer les doublons, il n'y a pas de fonction simple pour le faire. Alors soit le faire à la main, soit goupiller une fonction suppression à partir de la table des doublons. Mais attention à ne pas tout supprimer.
Selon la construction de ta table, tu peux utiliser les propriétés des champs des tables en construisant un index, soit simple soit multiple, avec le caractère "Ne pas autoriser les doublons"
Bonne suite
LoicL89
Messages postés
15
Date d'inscription
jeudi 14 mai 2015
Statut
Membre
Dernière intervention
16 mai 2015
15 mai 2015 à 22:49
15 mai 2015 à 22:49
Bonjour et merci pour cette réponse. Mais l'assistant de recherche de doublons ne fonctionne pas uniquement à l'intérieur d'une seule table? Car je recherche les doublons entre 2 tables...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jee pee
Messages postés
40288
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
5 octobre 2024
9 360
15 mai 2015 à 22:58
15 mai 2015 à 22:58
et
ou
DELETE FROM Essai5m E5 WHERE (E5.ID, E5.X, E5.Y, E5.Z) = (select E2.ID, E2.X, E2.Y, E2.Z from Essai2m E2 where E5.ID=E2.ID and E5.X=E2.X and E5.Y=E2.Y and E5.Z=E2.Z)
ou
DELETE FROM Essai5m E5 WHERE (E5.ID, E5.X, E5.Y, E5.Z) in (select E2.ID, E2.X, E2.Y, E2.Z from Essai2m E2)
LoicL89
Messages postés
15
Date d'inscription
jeudi 14 mai 2015
Statut
Membre
Dernière intervention
16 mai 2015
15 mai 2015 à 23:06
15 mai 2015 à 23:06
Le message a changé et est devenu : "Vous avez écrit une sous requete pouvant renvoyer plus d'un champ sans utiliser le mot réservé EXISTS dans la clause FROM de la requete principale. Révisez l'instruction SELECT de la sous requete pour obtenir un seul champ."
Je n'y comprend plus rien !
Je n'y comprend plus rien !
jee pee
Messages postés
40288
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
5 octobre 2024
9 360
15 mai 2015 à 23:32
15 mai 2015 à 23:32
Comme je l'ai dit je ne connais pas access, essaie
DELETE FROM Essai5m E5 WHERE EXISTS (select E2.ID, E2.X, E2.Y, E2.Z from Essai2m E2 where E5.ID=E2.ID and E5.X=E2.X and E5.Y=E2.Y and E5.Z=E2.Z)
LoicL89
Messages postés
15
Date d'inscription
jeudi 14 mai 2015
Statut
Membre
Dernière intervention
16 mai 2015
>
jee pee
Messages postés
40288
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
5 octobre 2024
16 mai 2015 à 09:42
16 mai 2015 à 09:42
Non cela ne fonctionne pas non plus.
Re-...
J'avais mal lu la question initiale et je n'avais pas fait attention au fait qu'il s'agissait de doublons d'une table par rapport à une autre.
Essaie :
"DELETE Essai5m.*, Essai2m.ID FROM Essai2m LEFT JOIN Essai5m ON (((Essai2m.X)=Essai5m.X) And ((Essai2m.Y)=Essai5m.Y) And ((Essai2m.Z)=Essai5m.Z));"
Mais ce serait bien plus simple de construire d'abord ta requête en mode graphique, et ensuite de la traduire en mode SQL
Bonne suite
J'avais mal lu la question initiale et je n'avais pas fait attention au fait qu'il s'agissait de doublons d'une table par rapport à une autre.
Essaie :
"DELETE Essai5m.*, Essai2m.ID FROM Essai2m LEFT JOIN Essai5m ON (((Essai2m.X)=Essai5m.X) And ((Essai2m.Y)=Essai5m.Y) And ((Essai2m.Z)=Essai5m.Z));"
Mais ce serait bien plus simple de construire d'abord ta requête en mode graphique, et ensuite de la traduire en mode SQL
Bonne suite