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]Problème d'intégrité reférentielle?


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]Problème d'intégrité reférentielle?
    Salut à tous

    je voudrais savoir s'il est possible d'autoriser l'intégrité ref que dans un seul sens entre deux tables :

    J'ai un table fournisseurs et adresses fournisseurs

    j'ai donc ma clé primaire de ma table fournisseur qui est relier à un champ idfour de ma table adr four

    Mon problème est que si je met l'intégrité ref si je supprime une adresse je supprime aussi le fournisseur or mon problème est qu'un fournisseur peu avoir plusieurs adresses?

    Comment résoudre ce problème?

    je pensais créer une table intermédiaire masi je sais pas comment? enfin quelles champs je dois utiliser pour cette table?
    Est-ce une bonne idée la table intermédiaire ?


    Merci de votre aide

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Si je comprends bien 1 fournisseur à 1 à n adresses. Donc tu as une table "1", celle des fournisseurs, et une table "n", celle des adresses.

    A ma connaissance, l'intégrité référentielle interdit simplement la création d'un nouvel enregistrement dans la table "n" si la clé étrangère ne renvoie pas à un enregistrement existant de la table "1". Autrement dit, impossible de saisir une adresse si le fournisseur n'existe pas.

    Ton pb semble plutôt lié à l'effacement en cascade. Encore que ça marche plutôt dans l'autre sens. Dans ton cas, c'est la suppression d'un fournisseur qui devrait supprimer toutes les adresses de ce fournisseur...


    Si je peux avancer un conseil :
    vérifie le sens de ta relation ( 1 pour fournissuers, n pour adresses).
    Par ailleurs, la prudence voudrait que sauf nécessité particulière on choisisse généralement : intégrité : oui; mise à jour en cas cade : oui; effacement en cascade : non.

    En espérant que cela t'aide,

    pgz

  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
    ok sinon que doit-je mettre dans le type de jointure la 1 la 2 ou la 3?

    Merci de ton aide

Discussions similaires

  1. [Access 2003]Problème de requete
    Par steeves5 dans le forum Access
    Réponses: 4
    Dernier message: 30/05/2006, 16h48
  2. [Access 2003]Problème de Propriété Bouton
    Par steeves5 dans le forum Access
    Réponses: 5
    Dernier message: 23/05/2006, 21h01
  3. [Access 2003]Problème de requête?
    Par steeves5 dans le forum Access
    Réponses: 4
    Dernier message: 22/05/2006, 13h42
  4. Réponses: 3
    Dernier message: 20/05/2006, 00h28
  5. [Access 2003] - Problème date dans requête
    Par Leesox dans le forum Access
    Réponses: 11
    Dernier message: 14/10/2005, 08h51

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