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 :

tables liées pb:Index unique introuvable pour le champ référencé d'une table


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut tables liées pb:Index unique introuvable pour le champ référencé d'une table
    Bonjour,

    Je voudrais lier deux tables entre elles, la table OPERATOR et la table CONTACT, mais lorsque je veux créer l'intégrité référentielle entre mes deux tables le message: Index unique introuvable pour le champ référencé d'une table principale pparaît.
    Un Operator peut avoir de 1 à n Contact et un Contact appartient à un et un seul Operator.
    L'intégrité marche mais seulement dans le sens CONTACT vers OPERATOR.

    Que dois-je faire pour avoir l'inverse?
    Merci de votre aide.
    Images attachées Images attachées  

  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 : 70
    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
    Bonsoir,

    Suggestion : tu supprimes le champ N0Contact de la table Operator,
    et tu crées un champ N° Operator dans la table des contacts.
    Cela devrait te permettre de définir ta relation avec les bonnes cardinalités.

    Bon courage,

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    merci pgz j'ai réussi à lier mes tables avec l'intégrité mais j'ai un second problème, lorsque j'effectue une requête avec mes tables liées le résultat me revoit que les entités communes aux deux tables. Je voudrais voir tous les enregistrements qu'ils soit présent ou non dans mes deux tables.
    Est-ce possible ?

  4. #4
    Membre actif Avatar de zEndymion
    Homme Profil pro
    Responsable des applications
    Inscrit en
    Avril 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des applications
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2006
    Messages : 162
    Points : 203
    Points
    203
    Par défaut
    Bonjour,

    Dans ta requête, clique droit sur la relation, puis propriétée de la Jointure, ensuite à toi de voir pour la valeur, cela dépend de la table qui contient l'exhaustivité de tes données

    @+

  5. #5
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    En fait voilà où j'en suis:
    Nom : table lier.jpg
Affichages : 291
Taille : 36,9 Ko

    Ma table de jointure (HELI OPERA) est pour l'instant vide, mes requêtes ne marchent donc pas pour l'instant et je voudrai à l'aide d'une macro? (ou d'un code) la saisir.

    Mon problème est le suivant, pour chaque hélicoptère (Aircraft_Register) j'ai un Opérateur (Operator_Name) ou plusieurs ou pas du tout (si inconnu) dans ma table HELICOPTER, je dois supprimer Operator_Name de ma table HELICOPTER car je l'ai mis dans ma table de jointure HELI OPERA.

    Comment faut-il faire pour que l'Aircraft et l'Opertor soient saisis dans ma table de jointure HELI OPERA automatiquement à partir des enregistrements de ma table HELICOPTER?

    Dans ma table de Jointure HELI OPERA j'ai mis les deux clés primaires, que dois-je faire pour les aircrafts ou l'Opérator n'est pas précisé? (la clé primaire ne peut pas être nulle.)

    J'espère avoir été clair
    Merci pour votre aide...

  6. #6
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    Finalement merci j'ai trouvé avec une requête ajout...

    Sinon,
    Dans ma table un Opérateur possède de un à n Contact (en théorique) sauf que dans ma table pour certain opérateur je ne connais pas le contact.

    Est-il possible de conserver ma relation sans que cela fausse mes requêtes?

  7. #7
    Membre actif Avatar de zEndymion
    Homme Profil pro
    Responsable des applications
    Inscrit en
    Avril 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des applications
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2006
    Messages : 162
    Points : 203
    Points
    203
    Par défaut
    Slt,

    Si tu ne change pas le type de ta jointure, ta requète ne renverra pas les lignes pour lesquelles il n'y a pas de contact,

    Par contre si tu change le type de jointure : (Afficher tous les enregidtrement de la table .... et seulement ceux de la table .... pour lesquels les champs sont égaux.) elle renverra toutes les lignes valide pour la partis gauche de ta requéte, les lignes des contacts pour lesquelles il y a correspondance et des ligne à null si iil n'y a pas de correspondance avec la table opérator

    Maintenant te dire si cela va fausser ta rq, cela dépend de ce que tu attends de ta rq

  8. #8
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    Merci MacGiver j'ai trouvé,

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

Discussions similaires

  1. [AC-2010] Erreur pour supprimer des données dans une table liée
    Par marieo dans le forum Access
    Réponses: 2
    Dernier message: 19/03/2016, 10h00
  2. Réponses: 10
    Dernier message: 04/03/2013, 19h15
  3. [AC-2000] intégrité référentielle impossible cause indexe unique introuvable
    Par rankynette dans le forum Modélisation
    Réponses: 6
    Dernier message: 10/02/2010, 12h06
  4. Réponses: 4
    Dernier message: 02/06/2009, 17h09
  5. Réponses: 3
    Dernier message: 02/05/2006, 21h36

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