Union de plusieurs tables

Résolu/Fermé
toxik56 Messages postés 12 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 22 novembre 2014 - 2 juil. 2014 à 16:41
toxik56 Messages postés 12 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 22 novembre 2014 - 3 juil. 2014 à 10:39
Bonjour tout le monde,

Je viens ici dans le but de recevoir une petite assistance sur ACCESS.

En effet, je ne parviens pas à unir plusieurs tables. Je vous expose simplement mon problème :
Actuellement, j'ai 2 tables :
- la première dont les attributs sont : nom du client, numéro de commande
- la seconde concernant les livraisons : date de livraison, numéro de commande.
Ainsi, j'aimerais obtenir une seule et unique table avec pour attributs : nom du client, numéro de commande, date de livraison (champ vide dans le cas où la commande ne serait pas encore livrée).
Seulement voilà, je ne parviens qu'à extraire les commandes qui ont été livrées..

Je vous remercie d'avance pour vos réponses et vous souhaite une agréable fin de journée :)

4 réponses

meledjetoussaint Messages postés 1 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 2 juillet 2014
Modifié par meledjetoussaint le 2/07/2014 à 18:22
Il faut vérifier si les 2 champs "numéro de commande" des deux tables sont liés
si ils ne sont pas liés il faut les lier
pour les lier il faut ouvrir la table père en mode création cliquer sur le champ "numéro de commande" et dans la colonne "type de données" choisir "assistant liste de choix" et ensuite choisir "....extraire les valeurs dans une autre table ou requête." cliquez sur suivant et choisir la table fils à laquelle le champ est lié; sélectionner l'autre champ "numéro de commande" (NB: vous pouvez sélectionner autant de champs que vous voulez et qui vous seront utiles faites passer les champs avec les flèches >); cliquez deux fois sur "suivant" puis sur "activer l'intégrité des données"
remplir la table
ensuite aller dans l'onglet "Outils de bases de données" et cliquer sur "relations"
faire un clic droit et afficher toutes les relations
regarder si les deux champs sont liés
si ils ne le sont pas "cliquer sur le champ correspondant" en le déplaçant vers le même champ de l'autre table et créer la relation

une fois la liaison faite créer une requête simple en sélectionnant tous les champs des deux tables, une fois la requête vous avez votre table unique qui réunit tous les champs des deux tables et vous pouvez remplir et modifier les données (car c'est une requête simple). me répondre ok
0
toxik56 Messages postés 12 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 22 novembre 2014 4
Modifié par toxik56 le 3/07/2014 à 09:51
Tout d'abord, je vous remercie pour votre réponse.

J'ai bien réfléchi à votre message seulement lorsque je souhaite appliquer l'intégrité référentielle, du fait que dans une table, je vais avoir 10 lignes (donc 10 numéro de contrats renseignés) et dans une seconde table 20 lignes, j'obtiens le message suivant :
"Microsoft Access ne peut pas créer cette relation et assurer l'intégrité référentielle"..
Je suis pas mal embêté..

Une solution qui pourrait résoudre mon problème serait la suivante :
Je pars d'une table d'origine à partir de laquelle j'effectue des opérations "somme". Seulement, en sortie, j'obtiens bien un résultat mais qui conserve uniquement les contrats pour lesquels cette somme est non nulle. Ainsi, y-aurait-il un moyen d'obtenir en sortir tous mes contrats et mettre "0" dans le cas où la somme est nulle ?

Je vous remercie par avance pour vos réponses.
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
Modifié par castours le 3/07/2014 à 10:04
Bonjour
As tu une relation entre les deux tables?
Employé la fonction NZ qui trans forme un champ null en 0
0
toxik56 Messages postés 12 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 22 novembre 2014 4
3 juil. 2014 à 10:39
Rebonjour,

En réfléchissant d'un peu plus près, j'ai trouvé la solution :
Lors de la création de ma requête, j'ai ajouté les tables qui m'intéressaient. Je les ai liées et en effectuant un clic droit sur chacune des relations puis propriété de la jointure, j'ai fait en sorte que les valeurs de ma table qui comporte l'ensemble des numéros de contrat soit prise en compte systématiquement. J'ai ensuite fait une requête simple et ça marche !

J'espère avoir été assez clair dans mes explications.

Je vous remercie pour votre aide. Je reviendrai très certainement vous poser des questions.

Encore merci et bonne journée !
0