Requête access multi table
slemort1
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Jean_Jacques -
Jean_Jacques -
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!
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!
A voir également:
- Requête access multi table
- Table ascii - Guide
- Table des matières word - Guide
- Multi exp heartgold - Forum Jeux vidéo
- Acer quick access - Forum Logiciels
- Youtube multi downloader - Télécharger - Conversion & Codecs
3 réponses
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.
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.
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!
par contre, sous access 2007, comment faire une jointure de 1 à 1 ? je ne vois pas où définir le type de jointure!
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
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