Bonjour tout le monde.
Petite question de sql dans une requête access.
Je suis en train de créer un fichier pour gestion de commande. Chaque client ne passe qu'une commande par an. Je souhaiterai rajouter une case à cocher pour visualiser les clients ayant renvoyer une réponse (avec ou sans commande) chaque année pour mieux gérer les relances clients.
J'ai donc 2 tables: une table 'client' et une table 'client répondu'. La table 'client répondu' contient simplement,un N°, la liste de choix client, une case oui/non, et l'année où il a répondu.
J'essaie de créer une requête qui m'affiche toute la table 'client' avec en plus la case à cocher de l'année en cours, une fois cocher, ceci ajoute automatiquement une nouvelle ligne dans la table 'client répondu'.
Un petit dessin valant mieux qu'un long discours, je mets une image de ce que j'arrive à faire pour le moment:
J'ai ajouté une expression: année validé pour sélectionné uniquement l'année en cours. Un filtre me permet d'enlever les années antérieurs.
Là où se pose mon problème est au niveau du nom BAUER: il n'y a pas de ligne pour 2009. Il ne s'affichera donc pas avec le filtre.
J'ai essayé de regarder les requetes SQL select UNION ou SELECT OUTER, mais elles ne m'affichent pas une ligne pour chaque client pour l'année en cours.
Je pense qu'il me faudrait afficher toutes les lignes de la tables 'client' et aussi toutes les lignes de la tables 'client répondu' pour que je puisse ensuite mieux filtrer, mais ces 2 tables sont jointes par le N° client.
Comment modifier cette requête SQL pour afficher l'ensemble des 2 tables?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT Client.N°, Client.Nom, Client.Prénom, Client.contact, Client.[Adresse de messagerie], Client.Téléphone, Client.[Numéro de télécopie], Client.Adresse, Client.Ville, Client.[Code postal], Client.[Pays/Région], Client.Remarques, [Client répondu].Répondu, [Client répondu].[Année réponse], IIf([Client répondu.Année Réponse]<>Year(Date()),True,False) AS [Année valide] FROM Client LEFT JOIN [Client répondu] ON Client.N° = [Client répondu].Client;
Merci d'avoir pris le temps de lire mon problème et merci pour toutes indication pouvant me permettre de le résoudre.
François
Partager