Bonjour à tous,
Depuis plusieurs jours j'essaie de concaténer des champs d'une table en fonction d'une autre, même avec l'aide des tutoriels et des questions je n'y suis point arrivé.
Avant de vous présenter mon problème voici quelques informations sur ma base
L'architecture de ma base est celle ci:
J'ai 3 tables une T_R29, T_R00 et une qui fait la jonction car j'ai un liens plusieurs à plusieurs entre ces 2 tables.
voir pièce jointe
Relations
Pour l'instant je m'occupe seulement de la T_R00. Un Id_R00 peut avoir soit 0 , 1 ou plusieurs R29 associés. Pour les cas 1 ou plusieurs j'ai cette relation dans la table de jonction.
Mon but est de faire une requête avec 2 champ Id_R00 et Id_R29 où je retrouverais tout les Id_R00 présent dans ma tables T_R00. Et dans le champ Id_R29 soit nous aurons rien soit 1 Id_R29 soit la concaténation des différents Id_R29 associé à l'ID_R00 que nous récupérons dans la tables de jonction.
Voilà pour les présentations.
J'ai suivis le tutoriel: Concaténer plusieurs enregistrements dans une seule colonne, pour concaténer mes enregistrement venant de la table de jonction.
J'ai alors créer un module qui créer la concaténation dans la table de jonction, et dans le code de ma requête je rappelle ce module.
Ma Requête:
Or dans le tutoriel nous avions un SELECT DISTINCT. Sans le DISTINCT j'ai une requête qui marche à peut près. J'ai le résultat en pièce jointe.
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT [T_Croquis Essai R00].[Id R00], RecupR29([Id_R00]) AS LesR29 FROM [T_Croquis Essai R00] LEFT JOIN T_Jonction_R29_R00 ON [T_Croquis Essai R00].[Id R00] = T_Jonction_R29_R00.Id_R00;
Voici mes problèmes:
Dans le cas où il n'y à pas de Id_R29 associé ma requête me met une erreur.
Dans le cas où il y a plusieurs ID_R29 j'ai bien la concaténation voulu mais il me reste le même nombre de ligne que d'Id_R29. Donc inutile.
Si je met SELECT DISTINCT j'ai un message d'erreur "Type de donnée incompatible dans l'expression du critère"
Je me suis fait quelques idées sur les causes de mes problèmes:
Ma requête fonctionne parfaitement avec le SELECT DISTINCT si et seulement si je n'ai pas d'Id_R00 sans Id_R29 associé.
Quelqu'un peut m'aider pour pouvoir résoudre mon problème de doublons et le messages d'erreur que j'ai dans mon champ Id_R29?
Merci d'avance
Cordialement,
Ps: si je n'ai pas été assez claire demander moi des précisions.
Partager