Création de relation entre des tables - Access

Création de relation entre des tables Création de relation entre table » Forum - SQL Server Création de relation entre 2 tables, débutant » Forum - Bases de données Relations entre Table (Résolu) » Forum - Webmaster Relations entre tables (Résolu) » Forum - Bases de données Adresse relative pour table des illustrations [Résolu] (Résolu) » Forum - Word

Bonjour à tous,


Je me trouve face à un problème de création de relation entre mes tables.

Voici le sujet :
Un produit peut être commandé plusieurs fois. Il peut être fourni par plusieurs fournisseurs. Une commande peut être livrée en plusieurs fois. Une réception correspond à une livraison. Une réception peut correspondre à plusieurs productions.

J’ai donc créé les tables suivantes :
FOURNISSEUR (RefFour, NomFour)
PRODUIT (RefPro, LibPro)
LIVRAISON (#NomCom, #NumLot, QuantProdLivPrev, DateLiv, NomCont)
COMMANDE (#RefFour, #NumCom, #RefPro, DateCom, QuantComProd)
PRODUCTION (NumLot, DateProd, QuantProd)
RECEPTION (NumLot, QuantRecep, NbProdRecep, DateRecep)

En effet, la quantité de produit commandé ne correspond par toujours à la quantité qui est prévue d’être livré qui elle-même n’est pas toujours la quantité réceptionnée.

Le problème étant que Access n’accepte pas de faire une liaison entre des tables qui ont plusieurs clés primaires.

J’avoue avoir du mal à voir comment résoudre ce problème.


Toute aide est la bienvenue.

Merci d’avance pour vos réponses.

Forum

Création de relation entre des tables Création de relation entre table » Forum - SQL Server Création de relation entre 2 tables, débutant » Forum - Bases de données Relations entre Table (Résolu) » Forum - Webmaster Relations entre tables (Résolu) » Forum - Bases de données Adresse relative pour table des illustrations [Résolu] (Résolu) » Forum - Word

Web: www.shapebootstrap.net

91 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
peux tu mettre ta base compressée dans un lien avec cijoint sur le site comment ca marche.
comme cela on verra mieux le travail que tu as fait.

Reply
réponses:
  • auteur

    Bonjour,

    Je ne vois pas le lien dont vous parlez

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
Tu importes ta base access compressée dans ci joint.
Une fois importé, tu creais un lien en appuyant sur le bouton en bas de la page. Le lien s'affiche en haut de la page. C'est ce lien que tu copies et que tu mets dans un message de comment ca marche

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour,
"Tu importes ta base access compressée dans ci joint." <- ça je ne sais pas faire, c'est où ci-joint?

Reply
réponses:
  • Bubulle15

    En fait c'est Cjoint

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Je suis en pleine reconsidération de mon projet. Je suis donc en train de tout reprendre à zéro.

Je vous explique ma situation.

Actuellement, nous commandons des bobines de fils et des fournitures auprès de différents fournisseurs. Chaque produit acheté peut être fourni par plusieurs fournisseurs. Nous passons une commande d’une certaine quantité de fils ou fourniture. Le fournisseur fait des calculs et nous renvoi la quantité qu’il peut envisager de nous fournir et leur prix. Nous recevons par la suite une liste des quantités chargées. Nous recevons une facture sur laquelle figure le coût total de la marchandise. Enfin, nous réceptionnons la marchandise et la contrôlons (ce qui engendre une nouvelle quantité).

Nous produisons nos produits finis avec les fils. Une certaine quantité de fils n’est pas utilisée lors de la production et est donc remise en stock.
Ainsi, nous avons l’organisation suivante :
PRODUIT (fils ou fourniture) -> COMMANDE -> LIVRAISON -> EMBARQUEMENT -> FACTURE -> RECEPTION -> PRODUCTION -> RETOUR -> PFINI (=Produit Fini)

J’avoue avoir des difficultés à déterminer tous les champs de mes tables et mes clés primaires.

J’ai réalisé le tableau suivant mais si je commence à mettre en place tous les champs de mes tables, je me retrouve avec une vraie toile d’araignée
Nom champ Description Champ TABLE
DateCom Date de la commande COMMANDE
QtéCom Quantité (en kg) commandé COMMANDE
NumCom Numéro de commande COMMANDE
Camp Campagne de commande COMMANDE
NumCont Numéro de conteneur EMBARQUEMENT
NumLot Numéro de lot du produit EMBARQUEMENT
Total Coût total de la livraison sur facture FACTURE
NumFact Numéro de la facture FACTURE
RefFour Référence du fournisseur FOURNISSEUR
LibFour Libellé du fournisseur FOURNISSEUR
QtéProdPrévu Quantité de produit prévu à la livraison LIVRAISON
DateEmbarqPrévu Date prévue d'embarquement LIVRAISON
DateLivPrév Date de livraison prévue LIVRAISON
TotalPrévu Coût total de la livraison prévu LIVRAISON
RefPF Référence de produit fini PFINI
LibPF Libellé produit fini PFINI
DateProd Date de production PRODUCTION
Util Utilisation réelle de la bobine PRODUCTION
RefProd Référence du produit PRODUIT
LibProd Libellé du produit PRODUIT
QtéProd Quantité de produit réceptionné RECEPTION
NbBobine Nombre de bobine prévu en réception RECEPTION
QtéRetourProd Quantité revenue de production RETOUR
QtéProduit Quantité de produit fini réalisé RETOUR
NbRetourBob Nombre de bobine revenu de production RETOUR

PRODUIT (RefProd, LibProd)
COMMANDE (NumCom, DateCom, QtéCom, Camp, #RefProd, #RefFour, #RefPF)
LIVRAISON (QtéProdPrévu, DateEmbarqPrévu, DateLivPrév, TotalPrévu, #RefProd, #NumCom)
EMABRQUEMENT (NumCont, NumLot, #RefProd, #NumCom)
FACTURE (Total, NumFact, #NumCom)
RECEPTION (QtéProd, NbBobine, #RefProd, #NumCom, NumLot)
PRODUCTION (DateProd, Util, #RefProd, NumLot)
RETOUR (QtéRetourProd, QtéProduit, NbRetourBob, #RefProd, #RefPF, NumLot)
PFINI (RefPF, LibPF)

Reply
réponses:

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour
Tes problemes viennent de tes relations
Tu ne peux pas faire une relation un a plusieurs sur 2 champs clé primaire.
Exemple
Il te faut Champ 1 N° auto dans une table
Il te faut champ 1 en numerique dans l'autre table

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour
https://www.cjoint.com/c/HAnjevjQwMw

Dans ce lien, la base modifiée avec les nouvelles relations.
Un champ de confusion avec un N°Auto de la table production et table produits. Ce sont les meme nom

Reply
réponses:
  • auteur

    Bonjour,

    Merci pour votre aide. Mais il n'y a plus de lien entre les tables commande et produit du coup. ça ne peut pas poser problème quand je vais vouloir faire un formulaire pour remplir une commande où je voudrais avoir une liste des références des produits et que lors du choix, le libellé se remplisse automatiquement?

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
que veux tu faire exactement?,
Lorsque tu veux passer un commande avoir le choix d'une liste de produit a commander.

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
a toi de refaire la relation correctement

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Désolé pour mon retard dans mes réponses mais j'ai eu beaucoup de tâches à faire ces dernières semaines.

J'ai repris encore le travail sur cette tâche et ai modifié encore quelques données. j’obtiens alors les tables suivante :
FOURNISSEUR (RefFour, NomFour)
PRODUIT (RefProd, LibProd)
COMMANDE (NumCom, DateCom, QtéCom, Camp, #RefPF, #RefProd, #RefFour)
LIVRAISON (QtéProdPrévu, DateEmbarqPrévu, DateLivPrév, TotalPrévu, #RefProd, #NumCom)
EMABRQUEMENT (NumEmbarq, NumCont, NumLot, DateEmbarq, #RefProd, #NumCom)
FACTURE (Total, NumFact, #NumCom)
RECEPTION (QtéProd, NbBobine, NumLot, #NumCom)
FACTURE TRANSPORT (Fret, Douane, Assurance, #NumEmbarq)
PRODUCTION (DateProd, Util, NumLotPF, QtéPF, #NumLot, #RefPF)
RETOUR (QtéRetourProd, QtéProduit, NbRetourBob, NumLot, NumLotPF, #RefProd, #RefPF)
PFINI (RefPF, LibPF, #NumLot)

Ce fichier me servirait donc à gérer les stocks de matière acheté par lot, réaliser un CMUP des produits sachant que le prix définitif des produits achetés n’est obtenu que lors de la réception des factures transport soit après l’étape « réception ». Il faudrait également que je puisse mettre en place une alerte lorsque la quantité enregistrée à l’étape « Livraison » est supérieure à la somme des quantités enregistrées à l’étape « réception » et lorsque les quantités de l’étape « embarquement » sont différentes de celles de l’étape « réception ».

J’ai également plusieurs états :
- Commandes : répertorie toutes les réceptions pour chaque commande avec les noms des références et leurs quantités
- Stock matière première : qui définit l’état des stocks pour chaque référence de fils et les détail selon leur numéro de lot. Il faudrait donc qu’il y ait un écrasement que la quantité de produit acheté par la quantité de produit retourné de production
- Commandes en cours : qui renvoie les quantités restant à réceptionner pour chaque référence commandée, les dates prévues de livraison, dates d’embarquement ou date d’embarquement prévue.
- Stock produit fini : qui présente pour chaque type de produit fini, leur référence, leur dimension ainsi que les numéros de lot des matières premières utilisées pour leur production

Les formulaires que je pense mettre en place seraient pour :
- Commande
- Livraison
- Facture
- Embarquement
- Réception
- Facture transport
- Création d’un produit acheté
- Production de produit fini
- Quantité de produit acheté retourné de production

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
peux tu m'expliquer pourquoi toutes tes relations aboutissent sur des clés primaires.
Logiquement une cle primaire et un secondaire forment une relation.
donc pour moi les relations ne sont pas bonnes

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
je t'avais envoyé la base modifiée avec les bonnes relations.
Cela ne te convient pas?

Reply
réponses:
  • auteur

    Je n'arrive pas à mettre en place un formulaire "commande" dans laquelle il y aurait un choix des produits (libellé) et avec remplissage automatique de la réf de ce produit. et avec la possibilité de mettre autant de ligne que l'on veut

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
remets ta base sur le site

Reply
réponses:
  • auteur

    https://www.cjoint.com/c/HBiidJNm1nn

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
je te joins dans ce lien un exemple
https://www.cjoint.com/c/HBio5JkLmn8
dis moi ce que tu en penses

Reply
réponses:
  • auteur

    ça ne correspond pas vraiment à ma situation. Ne vous êtes-vous pas trompé de fichier?

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
c'est un exemple
Pour ton cas, il faut un table commande, une table produit, une table facture et fournisseur ou particulier.
maintenant a savoir si tu commandes chez un founisseur ou un particulier qui te passes commande.

Reply
réponses:
  • auteur

    Je pense qu'il me faut beaucoup plus de table que ça :
    FOURNISSEUR, PRODUIT, COMMANDE, LIVRAISON, EMABRQUEMENT, FACTURE, RECEPTION, FACTURE TRANSPORT, PRODUCTION, RETOUR et PFINI.
    Je ne prends en compte que la partie amont de la supply chain donc je n'ai pas besoin de table client.

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Est-il possible de remplir avec des données une table en plusieurs étapes (donc avec plusieurs formulaires différents)?

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Autre question :
Pour que mes produits achetés soient d'abord traités en référence (sur mes commandes, livraisons et factures) puis en numéro de lot (sur mes embarquements, réceptions, productions et produits finis), sachant que du coup à une référence correspond plusieurs numéros de lot, faut-il que je crée 2 tables une PRODUIT et l'autre PRODUIT LOTI ?

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
je voudrai connaitre comment tu veux faire fonctionner ta base?

Reply
réponses:
  • auteur

    Avec des formulaires essentiellement :
    Les formulaires que je pense mettre en place seraient pour :
    - Commande, où je renseigne NumCom, DateCom, QtéCom, Camp en utilisant une liste déroulant pour chacune des références qui sont dans la table produit
    - Livraison où je renseigne QtéProdPrévu, DateEmbarqPrévu, DateLivPrév, TotalPrévu en utilisant :
    une liste déroulante pour le numéro de commande
    une liste déroulante de chacune des références qui sont dans la table commande et qui correspondent à cette commande.
    - Facture où je renseigne Total, NumFact une liste déroulante de chacune des références qui sont dans la table livraison et qui correspondent à cette livraison.
    - Embarquement où je renseigne NumEmbarq, NumCont, NumLot, DateEmbarq en utilisant une liste déroulante de chacune des références qui sont dans la table livraison et qui correspondent à cette livraison
    - Réception où je renseigne QtéProd, NbBobine, NumLot en utilisant liste déroulante de chacune des références qui sont dans la table embraquement et qui correspondent à cette embarquement
    - Facture transport où je renseigne Fret, Douane, Assurance qui correspondent à cette livraison avec l'utilisation d'une liste déroulante des numéros d'embarquement
    - Création d’un produit acheté où je renseigne RefProd, LibProd quand je commande une nouvelle référence de produit
    - Production de produit fini où je renseigne DateProd, Util, NumLotPF, QtéPF, QtéRetourProd, QtéProduit, NbRetourBob avec une liste déroulande de référence de produit fini puis une liste des numéros de lots que je peux utiliser (avec comme contrainte : quantité en stock supérieure à 0 et que le produit fini peut être fabriqué à partir de ces références de produit acheté)

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

J'ai créé un nouveau fichier. Peut être est-il plus correct mais j'ai peur de ne pas pouvoir gérer ma table embarquement comme je le voudrai à savoir la remplir avec un formulaire embarquement puis compléter les enregistrements avec le formulaire facture transport

https://www.cjoint.com/c/HBjoZZt1Ecn

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
vu les relation tu ne peux pas completer le formulaire embarquement.
il faudrait faire une table des prix unitaires pour les embarquements ou ajouter les prix du fret, de la douanes et assurance dans facture

Reply
réponses:
  • auteur

    Le problème c'est que le prix unitaire n'est valable que pour une référence au moment d'une commande et non pour toutes les commandes. Par exemple mon produit A va avoir un prix x pour la commande 1, un prix y pour la commande B ...
    Par contre tous les produits d'une commande auront le même prix unitaire sur cette commande. Sur le même exemple, le produit B de la commande 1 aura pour prix unitaire x.

  • auteur

    Au départ, j'avais fait la table FACTURE TRANSPORT pour enregistrer les factures de fret, douane et assurance mais je n'ai avis qu'une seule clé étrangère (NumEmbarq) ce qui ne va pas.

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonjour
vu les relation tu ne peux pas completer le formulaire embarquement.
il faudrait faire une table des prix unitaires pour les embarquements ou ajouter les prix du fret, de la douanes et assurance dans la table facture

Reply
réponses:
  • auteur

    ça me donnerait ceci :
    https://www.cjoint.com/c/HBjqhCTClwn

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed