IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

[Access 2003]Comment lier les tables commande forunisseur?


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 256
    Points : 81
    Points
    81
    Par défaut [Access 2003]Comment lier les tables commande forunisseur?
    Salut à tous

    je souhaiterai créer une commande. je dispose de 3 tables commande, fournisseur et éléments.

    Mais je ne sais pas comment les lier entres-elles?

    si vous vous avez une idée ou des liens sur des tutos!

    MErci de votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 97
    Points
    97
    Par défaut
    Je pense que ceci pourrat t'aider http://www.developpez.net/forums/sho...d.php?t=170014

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 256
    Points : 81
    Points
    81
    Par défaut
    du coup pour lier des tables il faut qu'elles aient le même noms?

    par exemple dans ma table fournisseur la clé primaire c CodeFournisseur

    il faut donc que j'ai dans ma table commande ou produit le même nom CodeFournisseur?

    Merci de votre aide

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 97
    Points
    97
    Par défaut
    ui voila il faut que tu est un champ de meme nom et exactement de meme type c'est ce qu on appel une clé étrangères

  5. #5
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Citation Envoyé par kikilevrai
    ui voila il faut que tu est un champ de meme nom et exactement de meme type c'est ce qu on appel une clé étrangères
    de même type : oui
    de même non : pas forcément...

    me trompais-je...

    SE

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 97
    Points
    97
    Par défaut
    Je pense que le nom doit etre le meme aussi si tu veu respecter l'intégrité référencielle (qui est une petite case à cocher quand tu fai tes relations)

  7. #7
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Citation Envoyé par kikilevrai
    Je pense que le nom doit etre le meme aussi si tu veu respecter l'intégrité référencielle (qui est une petite case à cocher quand tu fai tes relations)
    dit
    Qu'est-ce que l'intégrité référentielle ?
    L'intégrité référentielle est un système de règles que Microsoft Access utilise pour garantir que les relations entre les enregistrements dans les tables liées sont valides et que vous n'effacez pas ou ne modifiez pas par erreur des données liées. Vous pouvez utiliser l'intégrité référentielle si toutes les conditions suivantes sont réunies :

    Le champ correspondant de la table primaire est une clé primaire ou possède un index unique.


    Les champs liés ont le même type de données. Il existe deux exceptions : un champ Numérotation Auto peut être lié à un champ Numérique dont la propriété TailleChamp (FieldSize) est définie sur Entier long ; et un champ Numérotation Auto dont la propriété TailleChamp (FieldSize) est définie sur ID de réplica peut être lié à un champ Numérique dont la propriété TailleChamp (FieldSize) est aussi définie sur ID de réplica.


    Les deux tables appartiennent à la même base de données Microsoft Access. Si les tables sont des tables liées, elles doivent être définies au format Microsoft Access, et vous devez ouvrir la base de données dans laquelle elles se trouvent pour définir l'intégrité référentielle. L'intégrité référentielle ne s'applique pas à des tables liées provenant de bases de données utilisant d'autres formats.
    Lorsque vous appliquez l'intégrité référentielle, vous devez observer les règles suivantes :

    Dans le champ clé étrangère de la table liée, vous ne pouvez pas entrer une valeur qui n'existe pas dans la clé primaire de la table primaire. Toutefois, vous pouvez entrer une valeur de type Null dans la clé étrangère pour indiquer que les enregistrements ne sont pas liés. Par exemple, une commande ne peut pas être attribuée à un client qui n'existe pas, mais elle peut n'être affectée à personne en entrant une valeur de type Null dans le champ Code client.


    Vous ne pouvez pas effacer un enregistrement de la table primaire si des enregistrements correspondants existent dans une table liée. Par exemple, vous ne pouvez pas effacer l'enregistrement d'un employé dans la table Employés s'il y a des commandes affectées à celui-ci dans la table Commandes.


    Vous ne pouvez pas changer une valeur clé primaire dans la table primaire si cet enregistrement possède des enregistrements liés. Par exemple, vous ne pouvez pas changer le N° d'un employé dans la table Employés si des commandes lui sont affectées dans la table Commandes.
    Je ne vois pas de condition sur le nom du champ...

    SE

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 256
    Points : 81
    Points
    81
    Par défaut
    de même type est-ce que cela marche si j'ai ma clé primaire qui est un numéro auto et ma clé etrangere qui est de type numérique ?

    cela ne doit pas poser de problème normalement?

    merci de vos conseils

  9. #9
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Citation Envoyé par steeves5

    cela ne doit pas poser de problème normalement?
    Non...

    SE

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 256
    Points : 81
    Points
    81
    Par défaut
    merci de votre aide

    pour en revenir a ma question principale je ne sais pas comment lier mes tables cad pour créer une commande

    je dispose des éléments et des forunisseurs.

    Je ne sais pas si je dois lier ma table élément (ou produit) à ma table fournisseur et à ma table commande ?

    Merci de votre aide

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 97
    Points
    97
    Par défaut
    a je savai pas que le nom ce nété pas important je dormiré moin c.. ce soir merci bien

  12. #12
    Membre habitué Avatar de kirgan
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 127
    Points : 136
    Points
    136
    Par défaut
    c'est un problème de modélisation, et il y a pas mal de tuto là dessus (dont un excellent par maxence je pense, à vérifier)

    tu dois poser ton problème clairement, et définir les relations que tu veux.

    Une commande a-t-elle un (ou plusieurs) produit(s)? [ou élément]
    Une commande a-t-elle un (ou plusieurs) fournisseur(s)?
    En gros, que veux-tu que ta commande contienne comme info? Réfléchis à ca, face à un bout de papier, et puis retourne sur ton pc...

    Je ne veux pas te donner de solution, le seul côté marrant dans la BD, c'est la mod Je voudrais surtout pas t'enlever ce plaisir Enfin bon j'exagère, y'a plein d'autres trucs sympa, mais l'analyse métier et la mod sont pour moi au-dela de tout ^^

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    un élément (un produit pour parler français) est normalement lié
    à (aux) fournisseur(s) qui le produise(nt) il est également lié aux commandes
    qui le comprennent.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 256
    Points : 81
    Points
    81
    Par défaut
    merci de votre aide

    en fait, on ma présenté un logiciel comme exemple, dans lequel dans le formulaire commande il n'y a qu'un seul numéro de fournisseur et plusieurs produits dans une commande.

    Hors en parcourant le logiciel je me suis rendu compte qu'un produit pouvait être rattaché à un fournisseur ce qui est logique. mais le hic c que dans les commandes, il y a des produits d'autres fournisseurs (ce qui me parait moins logique car il y a un seul numéro de fournisseur sélectionné)

    c pour cette raison que je ne sais comment résoudre mon problème soit l'utilisateur choisit un numéro de fournisseur et apres il peut sélectionner les produits de ce fournisseur

    ou

    il sélectionne un fournisseur et peut choisir des produits de plusieurs fournisseurs

    Qu'elle est la meilleure solution?

    pour moi la première me parait logique mais je peux me tromper

    Merci de votre aide

  15. #15
    Membre habitué Avatar de kirgan
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 127
    Points : 136
    Points
    136
    Par défaut
    Tout dépend du métier!

    La logique voudrait en effet que sur une commande, tu mettes des produits, peu importe leur fournisseur.

    Mais on pourrait très bien imaginer un grossiste qui fait de l'import/export, et qui, pour des raisons de transport/logistique, n'organise des commandes (donc un camion) que pour un fournisseur. J'aurais donc sur mon bon de commande le nom du fournisseur (ce qui indiquerait au transporteur où aller chercher la marchandise), et la liste des produits.

    Maintenant, si pour une commande, tu as UN numéro fournisseur, et des produits qui proviennent de PLUSIEURS fournisseurs, il faut comprendre pourquoi. Si il y a une raison, il faut la comprendre, et si c'est "hurluberlu", il faut virer ca ^^

    Je te reconseille donc vivement de te pencher quelques heures sur le métier que tu modélises, et PUIS de te plonger dans la BD... Je me demande même si ce n'est pas PapyTurbo qui recommande de faire la mod, puis de dormir dessus, et de la revoir le lendemain. Souvent c'est ce que je fais, et c'est rarement du temps perdu...

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 256
    Points : 81
    Points
    81
    Par défaut
    ok je vais donc me repencher sur le problème afin de voir pourquoi il y a plusieurs fournisseurs.

    merci pour les conseils

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Généralités] Comment lier des tables Access
    Par nicodespiennes dans le forum Access
    Réponses: 2
    Dernier message: 28/09/2006, 12h24
  2. Réponses: 1
    Dernier message: 13/06/2006, 10h23
  3. [Access 2003]Comment créer une fiche commande?
    Par steeves5 dans le forum Access
    Réponses: 5
    Dernier message: 16/05/2006, 11h17
  4. Comment lier des tables Access ?
    Par po.lombard dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/12/2005, 13h54
  5. 'lier les tables' relation excel/access
    Par rahan_dave dans le forum Access
    Réponses: 7
    Dernier message: 08/11/2005, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo