Requête avec plusieurs tables de jonction et champs similaire

Résolu/Fermé
Vaness54230 Messages postés 16 Date d'inscription jeudi 28 mars 2019 Statut Membre Dernière intervention 18 avril 2019 - 28 mars 2019 à 15:55
Vaness54230 Messages postés 16 Date d'inscription jeudi 28 mars 2019 Statut Membre Dernière intervention 18 avril 2019 - 1 avril 2019 à 14:04
Bonjour,
Complètement novice sur Access, j'ai besoin de vos lumières.
Je dois faire une bdd contact dans laquelle j'ai notamment une table contact (comprenant des personnes de différents horizons), une table agent (qui sont les employés) et une table élus.
J'ai aussi une table réunion qui mentionne les différentes réunions récurrentes auxquelles ils (contact, élus et agents) doivent participer.
Et comme chaque personne peut participer à plusieurs réunions et chaque réunion est concernée par plusieurs personnes, j'ai fait des tables intermédiaires.
Toutefois, lorsque je fais ma requête pour retrouver toutes les personnes qui doivent participer à une réunion, cela me met des doublons.
De plus, j'aimerai que les noms des contacts, les noms des agents et les noms des élus se mettent l'un en dessous de l'autre et non à droite de ma feuille de données.
J'espère avoir été claire et explicite.
Merci d'avance pour votre aide

3 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
28 mars 2019 à 16:15
bonjour, peux-tu partager le code SQL de ta requête?
et donner un exemple de doublon.
0
Vaness54230 Messages postés 16 Date d'inscription jeudi 28 mars 2019 Statut Membre Dernière intervention 18 avril 2019
28 mars 2019 à 16:24
SELECT REUNIONS.[Nom REUNION], ELUS.Mail, AGENTS.Mail, CONTACTS.Mail
FROM ((ELUS INNER JOIN (REUNIONS INNER JOIN [TJ_REUNION ELUS] ON REUNIONS.[N° Réunion] = [TJ_REUNION ELUS].[N° Réunion]) ON ELUS.[N° Elu] = [TJ_REUNION ELUS].[N° Elu]) INNER JOIN (CONTACTS INNER JOIN [TJ_REUNION CONTACT] ON CONTACTS.[N° Contact] = [TJ_REUNION CONTACT].[N° Contact]) ON REUNIONS.[N° Réunion] = [TJ_REUNION CONTACT].[N° Réunion]) INNER JOIN (AGENTS INNER JOIN [TJ_REUNION AGENTS] ON AGENTS.[N° Agent] = [TJ_REUNION AGENTS].[N° Agent]) ON REUNIONS.[N° Réunion] = [TJ_REUNION AGENTS].[N° Réunion]
WHERE (((REUNIONS.[Nom REUNION])="COMITE DE PILOTAGE CENTRE AQUATIQUE"));
Voilà pour le code SQL

Et pour les doublons :
La feuille de donnée se présente avec une colonne mail pour les élus (je n'ai que 2 élus qui participent à ladite réunion mais les adresses sont répétées les unes en dessous des autres et j'ai une autre colonne pour les mails contacts et idem j'ai une dizaine de participants, et ils se répètent les uns en dessous des autres
0
bonjour
peux tu mettre ta base compressée dans un lien avec ci joint que tu copieras dans un message
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
28 mars 2019 à 17:45
peut-être veux-tu plutôt faire trois requêtes, une pour les élus, une pour les agents, et une pour les contacts.
0
Vaness54230 Messages postés 16 Date d'inscription jeudi 28 mars 2019 Statut Membre Dernière intervention 18 avril 2019
29 mars 2019 à 08:57
Bonjour, merci pour vos réponses. Alors je ne peux pas me permettre de transmettre la base de données qui contient des éléments confidentiels. Et non, c'est bien une seule requête dont j'ai besoin....Alors je me demande si je ne devrais pas faire une seule table avec les contacts, les agents et les élus...
0
Vaness54230 Messages postés 16 Date d'inscription jeudi 28 mars 2019 Statut Membre Dernière intervention 18 avril 2019
29 mars 2019 à 11:00
Re-bonjour,
J'ai fait les 3 requêtes séparément et elles fonctionnent.
J'ai donc tenté de faire une requête union mais j'ai des bugs. voici le code
SELECT DISTINCT AGENTS.Civilité, AGENTS.Nom, AGENTS.Prénom, AGENTS.Mail, REUNIONS.[Nom REUNION]
FROM REUNIONS INNER JOIN (AGENTS INNER JOIN [TJ_REUNION AGENTS] ON AGENTS.[N° Agent] = [TJ_REUNION AGENTS].[N° Agent]) ON REUNIONS.[N° Réunion] = [TJ_REUNION AGENTS].[N° Réunion]
WHERE (((REUNIONS.[Nom REUNION])="COMITE DE PILOTAGE CENTRE AQUATIQUE"))
UNION SELECT CONTACTS.Civilité, CONTACTS.Nom, CONTACTS.Prénom, CONTACTS.Mail, REUNIONS.[Nom REUNION]
FROM REUNIONS INNER JOIN (CONTACTS INNER JOIN [TJ_REUNION CONTACT] ON CONTACTS.[N° CONTACT] = [TJ_REUNION CONTACT].[N° Contact]) ON REUNIONS.[N° Réunion] = [TJ_REUNION CONTACT].[N° Réunion]
WHERE (((REUNIONS.[Nom REUNION])="COMITE DE PILOTAGE CENTRE AQUATIQUE"))
UNION SELECT ELUS.Civilité, ELUS.Nom, ELUS.Prénom, ELUS.Mail, REUNIONS.[Nom REUNION]
FROM REUNIONS INNER JOIN (ELUS INNER JOIN [TJ_REUNION ELUS] ON ELUS.[N° ELU] = [TJ_REUNION ELUS].[N° Elu]) ON REUNIONS.[N° Réunion] = [TJ_REUNION ELUS].[N° Réunion]
WHERE (((REUNIONS.[Nom REUNION])="COMITE DE PILOTAGE CENTRE AQUATIQUE"));

Qu'est ce que j'ai mal fait ?
0
Vaness54230 Messages postés 16 Date d'inscription jeudi 28 mars 2019 Statut Membre Dernière intervention 18 avril 2019
29 mars 2019 à 11:45
Pour plus d'info sur le bug :
dans le champs mail, il me renseigne le mail et le sépare par un #mailo: et répète le mail à nouveau...
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > Vaness54230 Messages postés 16 Date d'inscription jeudi 28 mars 2019 Statut Membre Dernière intervention 18 avril 2019
29 mars 2019 à 15:57
donc chacune des requêtes fonctionne bien, et l'union donne un mauvais affichage du mail?
0
Vaness54230 Messages postés 16 Date d'inscription jeudi 28 mars 2019 Statut Membre Dernière intervention 18 avril 2019
29 mars 2019 à 16:09
oui. Pour info, sur les tables le champ mail est paramétré en "lien hypertexte".
Sur les requêtes de sélections elles s'affichent correctement.

Mais sur la requête union le champs mail s'affiche comme ceci : vanessa54230@orange.fr#mailto:vanessa54230@orange.fr#

et ce qui est bizarre c'est qu'à partir de cette requête, j'ai fait un état et le fait d'indiquer dans les paramètres de l'état que c'était un lin hypertexte, il a corrigé l'erreur.

Mais j'aimerai que cela s'affiche normalement sur la requête union pour que cela soit plus simple pour moi d'extraire les mails pour faire une liste de diffusion mail
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 29 mars 2019 à 17:24
essaie
SELECT ..., hyperlinkpart(AGENTS.Mail , 2) ...
0
Vaness54230 Messages postés 16 Date d'inscription jeudi 28 mars 2019 Statut Membre Dernière intervention 18 avril 2019
1 avril 2019 à 11:12
Où dois-je fermer la parenthèse ? Car si je la mets derrière Agents mail il m'indique opération non valide. Si je la mets après centre aquatique il m'indique Erreur de syntaxe...A la fin ça ne fonctionne pas non plus...Désolée pas douée pour le langage SQL...

SELECT DISTINCT AGENTS.Civilité, AGENTS.Nom, AGENTS.Prénom, hyperlinkpart (AGENTS.Mail, REUNIONS.[Nom REUNION]
FROM REUNIONS INNER JOIN (AGENTS INNER JOIN [TJ_REUNION AGENTS] ON AGENTS.[N° Agent] = [TJ_REUNION AGENTS].[N° Agent]) ON REUNIONS.[N° Réunion] = [TJ_REUNION AGENTS].[N° Réunion]
WHERE (((REUNIONS.[Nom REUNION])="COMITE DE PILOTAGE CENTRE AQUATIQUE")))
UNION SELECT CONTACTS.Civilité, CONTACTS.Nom, CONTACTS.Prénom, CONTACTS.Mail, REUNIONS.[Nom REUNION]
FROM REUNIONS INNER JOIN (CONTACTS INNER JOIN [TJ_REUNION CONTACT] ON CONTACTS.[N° CONTACT] = [TJ_REUNION CONTACT].[N° Contact]) ON REUNIONS.[N° Réunion] = [TJ_REUNION CONTACT].[N° Réunion]
WHERE (((REUNIONS.[Nom REUNION])="COMITE DE PILOTAGE CENTRE AQUATIQUE"))
UNION SELECT ELUS.Civilité, ELUS.Nom, ELUS.Prénom, ELUS.Mail, REUNIONS.[Nom REUNION]
FROM REUNIONS INNER JOIN (ELUS INNER JOIN [TJ_REUNION ELUS] ON ELUS.[N° ELU] = [TJ_REUNION ELUS].[N° Elu]) ON REUNIONS.[N° Réunion] = [TJ_REUNION ELUS].[N° Réunion]
WHERE (((REUNIONS.[Nom REUNION])="COMITE DE PILOTAGE CENTRE AQUATIQUE"));
0