1. #1
    Nouveau membre du Club
    Homme Profil pro
    Apprenti Ingénieur Généraliste
    Inscrit en
    février 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Apprenti Ingénieur Généraliste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2017
    Messages : 35
    Points : 30
    Points
    30

    Par défaut Clef primaire avec couple unique

    Bonjour,

    Problème : je cherche à attribuer la notion de couple unique à deux champs X et Y de ma Table1 afin d'éviter les erreurs de doublons.
    Le champ X est propre à la Table1 tandis que Y est une clef étrangère référençant la clef primaire de ma Table2.
    Même en ayant défini mes deux champs X et Y comme clef primaire, j'obtiens toujours des erreurs de doublons.

    Savez-vous d'où vient le problème ?

    Cdlt

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    10 687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 10 687
    Points : 16 013
    Points
    16 013

    Par défaut

    Bonjour.

    À priori si tu as le message c'est que d'après Access tu as des doublons.

    Fait une requête de comptage et vérifie le.
    L'autre possibilité est de vider complètement ta table puis de définir ta clef primaire sur la table vide.

    Et personnellement je procède ainsi
    1. Clef primaire : Numéro auto
    2. Index unique sur les champs qui forment ma clef composée.


    L'avantage d'avoir un index unique est que l'un des éléments qui le composent peut être null.
    Cela permet de créer l'enregistrement même si on a pas toutes les infos.

    L'inconvénient c'est que si un des éléments peut être Null, Access ne considère plus l'unicité et qu'on peut avoir des trucs du genre
    • V1, Null
    • V1, Null


    Sans aucune alerte.

    Si tu as un risque de ce type il faut faire du code pour bloquer les doublons à la saisie.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    mai 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Associations - ONG

    Informations forums :
    Inscription : mai 2016
    Messages : 30
    Points : 47
    Points
    47

    Par défaut

    Bonjour :

    Lors de votre conception MCD et MLD , qu'elles cardinalités vous avez pour vos entités.

    1;1 / 0;n / n;n ..... Si vous suivez les bonnes règles de Modélisations, vous n'aurez jamais de Doublons pour la clé primaire composé ( Clef Table 1 ; Clef

    Étrangère Table 2 ) .

    Il s'agit d'un problème initial de Modélisation.

    CDT.

Discussions similaires

  1. [AC-2010] Clef primaire et Indexes uniques d'un DAO Recordset ?
    Par marot_r dans le forum VBA Access
    Réponses: 8
    Dernier message: 21/12/2015, 14h31
  2. [2008] Clef primaire avec contrainte
    Par jc_mar dans le forum Développement
    Réponses: 10
    Dernier message: 16/12/2013, 14h38
  3. [AC-2003] Clef Primaire avec ADOX
    Par Bonero dans le forum Modélisation
    Réponses: 4
    Dernier message: 19/08/2011, 16h41
  4. clef primaire ou index unique
    Par jose.ignacio.agata dans le forum SQL
    Réponses: 1
    Dernier message: 25/01/2008, 14h25
  5. Réponses: 4
    Dernier message: 08/03/2006, 14h22

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