|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Bonjour,
J'ai une requête qui me donne un résultat avec des doublons. Je vuex donc faire une autre requête dessus pour lister tous mes champs sauf ceux qui ont 2 champs sont en doublons Exemple (raccourci) de mon résultat : Citation:
Citation:
J'ai donc essayé ce qui suit. Cela marche si je mets 2 ou 3 champs mais si dans ma requête, je mets tous mes champs, cela ne marche plus !! Code :
Sauriez-vous comment je peux y arriver ? Merci pour votre aide Thibault |
||||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Statisticien Inscription : février 2009 Messages : 43 ![]() |
Dans Access tu as une fonction pour récupérer les doublons.
Dans le menu requêtes et Nouveau, tu as un assistant pour récupérer les doublons. Cela peut il t'aider. Cdt. |
|
|
00
|
|
|
#3 | ||
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Merci pour ta proposition.
J'ai essayé entre temps : cela m'indique les doublons dans une requête N°2 Mais comment ensuite relier les 2 requêtes pour obtenir une liste sans doublons ? Je continue à fouiller dans les archives du forum. Mais je ne trouve rien qui fonctionne avec mon cas. Je viens de lire un post sur l'emploi de UNION mais ce test ne marche pas non plus : Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Statisticien Inscription : février 2009 Messages : 43 ![]() |
tu peux te créer une requête imbriquer.
Code :
Selec clef, * from TaTable where clef not in (requête que tu viens de créer resultat des doublons) Ceci peut t'aide ? Cdt. |
|
|
00
|
|
|
#5 | ||
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Mon problème est que je ne viens pas d'une table mais d'une requête. Mes tables sont sans doublons. C'est la requête qui me génère les doublons.
Ma requête d'origine est un poil complexe : je la mets pour info au cas où : Code :
![]() Les lignes en rouge sont mes doublons. (COD_CLT et REFERENCE) Merci pour votre aide |
||
|
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonsoir,
Citation:
__________________
L'informatique fait son grand retour au lycée... |
|
|
20
|
|
|
#7 |
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Pour l'instant, je cherche la simplicité (Aie ! cela me fait mal de dire cela après plus d'une journée à me triturer pour essayer de trouver une solution !!
garder une des lignes en doublons mais n'importe laquelle des 2, ou 3 ou 4 ou x Après si, je progresse, peut-être que j'envisagerais de garder la ligne en doublons qui contient dans le champ [INFO]="Présent dans le BC" ou si les doublons ne concernent que des lignes où [INFO]="Pour MAJ Tarif du Groupe" , je conserverais n'importe laquelle des 2,ou 3 ou 4 ou x. Edit : Si vous avez une solution SQL, j'en serais ravi (car + simple). Ds mon sommeil agité, j'ai commencé à envisager un autre axe de solution : via VBA : lire ma requête, repérer et ignorer les doublons selon mes conditions puis envoyer une table temporaire les enregistrements sans doublons. (mais il me reste encore une inconnu sur la gestion de ce nettoyage par rapport au vba) (cela me fera l'objet d'un post différent ds VBA) |
|
|
00
|
|
|
#8 | |||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
Bonsoir,
Citation:
Code sql :
Sans [id], ça risque de devenir glauque
__________________
L'informatique fait son grand retour au lycée... |
|||
|
00
|
|
|
#9 |
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Merci Fabien.
Cela ne loupe pas, je n'ai pas de champs ID pouvant me servir. En attendant, j'ai testé ta soluce en mettant mes données dans une table tempo, à laquelle j'ai rajouté un champ ID. Cela marche parfaitement. Je vais donc essayer d'utiliser ta solution. En faisant une 1ère requête de Création de table. puis ajout dans la table en VBA du champs ID en index numéroauto (je vais voir dans le sous forum vba à ce sujet) puis utilisation de ta soluce. Merci Cela du bien de pouvoir avancer d'une case !! |
|
|
00
|
|
|
#10 | |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bonjour,
Citation:
|
|
|
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2005 Messages : 11 ![]() |
Bonjour,
Je suppose que depuis 1 mois tu as trouvé. Pour qu'une requête ne te crée pas de doublon, tu peux utiliser les regroupement. Dans la construction de requête, tu utilise le bouton "sigma", et ensuite tu choisis de "regrouper" sur les champs que tu veux en 1 seul exemplaire (article et client), et pour les autres champs tu n'utilise surtout pas de regroupement, mais plutôt "le plus petit", "le plus grand", "le dernier", "le premier". Ainsi pour chaque couple client-article, tu obtiens le dernier de "info". Autre piège courant quand on débute, la multiplication : tu relies 2 tables, mais sur un champ qui n'est pas unique ni dans une table ni dans l'autre. Par exemple une valeur d'un champ est en 3 exemplaires dans une table, en 2 exemplaires dans l'autre. Tu relies les 2 tables par ce champ, et tu as 6 lignes ! |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com