Requête access multi table

Fermé
slemort1 Messages postés 2 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 14 février 2011 - 13 févr. 2011 à 10:37
 Jean_Jacques - 14 févr. 2011 à 18:25
Bonjour,

J'ai une base de données sous access 2007, avec 3 tables :
T_Factures contenant les champs CLIENT et NumFacture
T_Devis contenant les champs CLIENT et NumDevis
T_Entretiens contenant les champs CLIENT et NumEntretien

Je cherche à faire une recherche par client qui me donnerait la liste des factures, devis et entretien d'un client donné.

J'ai fait des tests en reliant les 3 tables par le champ CLIENT de chaque table mais le résultat est aléatoire selon les clients:
- dans certains cas je n'ai aucun résultat alors qu'il existe bien des enregsitrements dans au moins une des tables (voir les 3)
- dans d'autres cas, pour un client chaque ligne est dédoublé pour chaque enregsitrement dans chaque table.
ex: CLIENT1 - FACTURE1 - DEVIS1 - ENTRETIEN1
CLIENT1 - FACTURE1 - DEVIS1 - ENTRETIEN2
CLIENT1 - FACTURE1 - DEVIS1 - ENTRETIEN3
CLIENT1 - FACTURE1 - DEVIS2 - ENTRETIEN1
CLIENT1 - FACTURE1 - DEVIS2 - ENTRETIEN2
CLIENT1 - FACTURE1 - DEVIS2 - ENTRETIEN3

Je ne sais pas comment faire pour m'en sortie, pouvez vous m'aider ?
merci d'avance!

3 réponses

Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
Modifié par Jean_Jacques le 13/02/2011 à 19:25
Bonsoir slemort1,

Votre projet contient 4 informations hétérogènes : Client/Facture/Devis/Entretien
Ce qui induit classiquement 4 tables :

A savoir :


T_CLIENTS Champs : Réf_Client/CLIENT (Réf_Client est sans doublons)
T_FACTURES Champs : Réf_Client/Réf_Facture/FACTURE T_DEVIS T_DEVIS Champs : Réf_Client/Réf_Devis/DEVIS
T_ENTRETIENS Champs : Réf_Client/Réf_Entretien/ENTRETIEN

NB : Réf_Facture, Réf_Devis, Réf_Entretien sont sans doublons

A partir de cette structure la table T_CLIENTS a une relation de 1 à 1 vers
chacun des enregistrements des autres tables (via Réf_Client) et, simultanément,
chaque facture, devis, entretien à son n° de référence propre. Ce qui permet la traçabilité, car chaque enregistrement est clairement identifié et a de plus un lien vers T_CLIENTS.

Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
0
slemort1 Messages postés 2 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 14 février 2011
Modifié par slemort1 le 14/02/2011 à 13:24
Merci pour la réponse, je me doutais que j'allais devoir en passer par là !
par contre, sous access 2007, comment faire une jointure de 1 à 1 ? je ne vois pas où définir le type de jointure!
0
Bonsoir,

Le sujet des relations est bien documenté dans l'aide en ligne [Touche F1]
Dans l'espace aide intuitive saisir : Utiliser des relations

Le site suivant est aussi d'un grand secours :
https://access.developpez.com/sources/

Cordialement
0