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 :

[Relations] Problémes pour lier 2 tables sous access


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 82
    Points : 52
    Points
    52
    Par défaut [Relations] Problémes pour lier 2 tables sous access
    Bonjour,

    je viens de terminer mon MCD et de l'intégrer sous access. Cependant je rencontre un problème lorsque j'essaie de lier une table dont la clé primaire est un numéro automatique avec une autre dont la clé étrangère est un numérique.

    Biensur on pourrait dire que c'est normal car les 2 clés n'ont pas le meme type mais cela ne vient pas totalement de la je pense.

    En effet quand je fais passer ma clé étrangère en automatique et la clé primaire en numérique je peux appliquer la liaison avec intégrité référentielle
    alors que l'inverse n'est pas possible.

    De plus ce qui est bete c'est que dans le cas ou je met ma clé étrangère en automatique ( donc le probleme de la liaison n'en est plus un) , je ne peux pas remplir un enregistrement de ma table car il me signale que l'info doit etre disponible dans l'autre table ( a cause de l'intégrité référentielle).

    Ce que j'aimerais réaliser , c'est qu'il y est bien liaison avec intégrité référentielle dans les 2 tables , mais que lorsque je remplis un enregistrement celui ci s'enregistre, et que ensuite je remplisse le contenu de l'autre table.

    Je ne sais pas si je suis tres clair car ce n'est pas vraiment facile à expliquer.
    Je peux poster le fichier access de ma base si besoin est.

    Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    NumeroAuto = numérique Long

    Pour le problème de l'enregistrement dans les 2 tables :

    L'intégrité référencielle n'est pas paramétrable. L'enregistrement dans la table parent doit OBLIGATOIREMENT exister pour que la saisie dans la table enfant soit possible.

    Autre solution une table temporaire sans liaison. La saisie sera possible lorsque l'enregistrement dans la table parent sera fait il suffira de faire le transfert via requete.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 82
    Points : 52
    Points
    52
    Par défaut
    ah d'accord , merci pour cette réponse.

    Donc comme il s'agit d'une relation 1-1 , cela ne gene pas que j'intervertisse la table parent et la table enfant ?


    Sinon j'ai une autre petite question.

    Je dois gérer 2 tables : une pour les moteur et une pour les servantes qui contiennent les pieces nécessaires au remontage des composants.

    Les moteurs sont identifiés par un ESN (numéro unique) et les servantes sont identifiées par ce meme ESN.
    Cela ne pose t'il pas de probleme que j'ai la meme clé primaire pour 2 entités différentes sachant qu'elle non pas de lien direct entre elle ?

    Est-il préférable que je fasse une association des moteurs vers les servantes 0..n ?

    Cela fait beaucoup de questions. Merci au courageux qui me répondra

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Si un même ESN désigne une chaine complète de données (1 moteur et ses servantes) non c'est même plutot conseillé. Si certaines servantes peuvent appartenir à des moteurs différents c'est fortement déconseillé.

    Ayant une faible vu sur ce que tu gères et tes contraintes je suis un peu court...
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 82
    Points : 52
    Points
    52
    Par défaut
    merci pour cette réponse.

    Pour que tu aies une vue plus complete sur ce que je fais , je joins le MCD fait sous visio et celui intégré sous access.

    Donc la clé primaire de servante (IdServante) est en fait la meme que la clé primaire moteur (ESN) car effectivement un moteur aura une servante attitré.

    Cependant je ne pense pas relier ces 2 tables ( moteur , servante). Est-ce une bonne idée?

    D'autres part, je me rends bien contre d'un problème au niveau de ma table chantier mais je ne vois pas trop comment le régler.
    Car la clé primaire de chantier est défini par l'esn moteur et la date de début de chantier. Hors la clé étrangère qui relier la table chantier et servante est aussi l'esn.
    Cela introduit apparemment de la redondance et je ne respecte plus la 3NF.
    N'y a t'il pas un moyen plus propre de relier chantier et servante?

    Merci pour ta réponse
    Images attachées Images attachées   

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 82
    Points : 52
    Points
    52
    Par défaut
    Je crois que j'ai du boire un coup pour ne pas voir mon erreur

    En fait il me suffit de passer l'esn de ma clé primaire composée de la table chantier en clé étrangère pour la table servante.

    Je crois que c'est bon non?

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/02/2012, 22h57
  2. [Conception]Problème de synchronisation entre tables sous access
    Par romain404 dans le forum Modélisation
    Réponses: 4
    Dernier message: 15/04/2007, 20h01
  3. Réponses: 2
    Dernier message: 03/04/2007, 09h28
  4. Problème pour lier deux tables
    Par balabonov dans le forum Access
    Réponses: 8
    Dernier message: 21/12/2005, 13h13
  5. Réponses: 1
    Dernier message: 21/09/2005, 17h04

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