Problème de relation entre les tables [Résolu]

Messages postés
4
Date d'inscription
vendredi 29 novembre 2019
Statut
Membre
Dernière intervention
4 décembre 2019
- - Dernière réponse : yg_be
Messages postés
9052
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
5 décembre 2019
- 4 déc. 2019 à 12:11
Bonjour,

Je connais relativement bien EXCEL et le VBA mais je débute sous ACCESS. J'essaie de développer ma première application et je rencontre déjà des difficultés. C'est la première fois que je m'inscris sur un forum et j'ai besoin d'aide.

Mon problème :

J'ai 3 tables

Table 1 : COMMANDES. Chaque commande a un numéro unique et ne concerne qu'un seul produit

Table 2 : LIVRAISONS. Une même commande peut être livrée en plusieurs fois. Chaque livraison a un numéro de BL (bon de livraison). Par exemple pour la commande N° 1 j'ai 4 BL numérotés de 1 à 4

Table 3 : FACTURES. Une même commande peut engendrer plusieurs factures. Par exemple la facture N° 1 concernera le BL N° 1, la facture N° 2 concernera les BL N° 2 et 3, la facture N° 3 concernera le BL N° 4.
C'est à dire que pour la facture N° 2 j'aurai 2 lignes de détail

Dois-je créer une 4ème table (Détail facture) ?
Comment créer mes relations ?

Merci d'avance


Configuration: Windows / Chrome 78.0.3904.108
Afficher la suite 

5 réponses

Messages postés
9052
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
5 décembre 2019
464
0
Merci
bonjour, moi je mettrais le numéro de facture dans la table LIVRAISONS.
tu obtiendras le détail de la facture via une requête.
Commenter la réponse de yg_be
Messages postés
4
Date d'inscription
vendredi 29 novembre 2019
Statut
Membre
Dernière intervention
4 décembre 2019
0
Merci
Merci yg_be pour la rapidité avec laquelle tu m'as répondu.
Je n'aurai pas le temps d'y réfléchir avant la semaine prochaine mais je ne manquerai pas de te tenir au courant
Encore merci
Commenter la réponse de Ordan
Messages postés
4
Date d'inscription
vendredi 29 novembre 2019
Statut
Membre
Dernière intervention
4 décembre 2019
0
Merci
Bonjour yg_be
De retour après un W-E de loisir, je me replonge dans ma base de données. Ta solution peut fonctionner mais elle ne me satisfait pas pleinement. En effet je peux effectuer plusieurs livraisons à des dates différentes avant de les facturer. Je ne connais donc pas le N° de facture au moment de la livraison et je devrai retourner sur la table LIVRAISONS après facturation.
Peut-on imaginer une autre solution ?
En attendant je continue de chercher ...
yg_be
Messages postés
9052
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
5 décembre 2019
464 -
contrairement à Excel, la structure des tables Access ne doit pas être influencée par les interactions avec l'utilisateur.
si tu utilises des formulaires et du code VBA, les mises à jour des tables se feront automatiquement par le VBA, sans que "tu" ne doives retourner dans la table Livraisons.
Commenter la réponse de Ordan
0
Merci
bonjour
3 type de relations existent 1 à 1, 1 à plusieurs et sans
la plus usuelle est un a plusieurs.
je ferai une liaison entre commande et livraison, livraison et facture.

Commande a 1 sur le champ IdCde en N°auto, IdCde en numerique dans livraison,
Livraison a 1sur le champ IdLiv en N°auto,IdLiv en numérique dans la table livraison,
Facture a 1sur le Champ IdFac en N° auto,
Commenter la réponse de Castours
Messages postés
4
Date d'inscription
vendredi 29 novembre 2019
Statut
Membre
Dernière intervention
4 décembre 2019
0
Merci
Comme je vous l'ai indiqué sur mon premier message je débute sur ACCESS et je m'aperçois que j'ai encore du chemin à faire ...
Aussi, je vais continuer à me former à l'aide de bouquins et de tutoriels. Quand je serai un peu plus au point, je reviendrai sur ce forum pour demander de l'aide.
En attendant, je vous remercie de m'avoir répondu et vous dis à bientôt.
yg_be
Messages postés
9052
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
5 décembre 2019
464 -
parfait! peux-tu alors marquer le sujet comme résolu, via la roue dentée à droite du titre?
Commenter la réponse de Ordan