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

Modélisation Discussion :

[Conception]Créer une contrainte d'unicité basé sur deux champs(hors clé primaire)


Sujet :

Modélisation

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 96
    Points : 78
    Points
    78
    Par défaut [Conception]Créer une contrainte d'unicité basé sur deux champs(hors clé primaire)
    Bonjour à tous,

    je souhaiterai, dans l'une de mes tables, insérer une contrainte d'unicité sur deux champs.

    Exemple
    champ A : numéroAuto clé primaire
    champ B : numérique
    champ C : txt

    Je voudrais qu'on ne puisse pas avoir deux paires identique des champs B et C dans la table

    Cela est-il possible?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Tu crée un index composé des champs B et C.
    Propriétés de l'index ...
    Primaire : Non
    Unique : Oui

    Ca devrait le faire.

    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 96
    Points : 78
    Points
    78
    Par défaut
    Bonjour,

    J'avais déjà essayé d'ajouter un index mais mon problème vient du fait que je n'arrive pas à préciser que mon index doit concatener deux champs.

    quand je mets [Champ B] & [Champ C] dans nom du champ il me met "nom entré ne fait pas parti de la liste(normal d'un coté)

    et quand je mets deux lignes d'index avec le meme nom pour spéficié que c'est sur deux champs, j'ai l'erreur qui me dit que le nom de l'index est déjà pris(logique aussi)

    Le pire, c'est qui il est précisé dans ce formulaire que l'index peut contenir jusqu'à dix champ.

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    il faut mettre les champs de l'index sur plusieurs lignes.
    Exemple index clé primaire sur champA et index sur champB et champC
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Nom de l'index  Nom du Champ  Ordre de tri
    --------------  ------------  ----------
    ChampA          ChampA        Croissant
    Index2          ChampB        Croissant
                    ChampC        Croissant
    A+

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 96
    Points : 78
    Points
    78
    Par défaut
    Merci,

    ça fonctionne, c'était pas très compliqué(mais tellement peu intuitif)

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 103
    Points : 57
    Points
    57
    Par défaut Unicité sur 2 champs
    Citation Envoyé par LedZeppII Voir le message
    Bonjour,

    il faut mettre les champs de l'index sur plusieurs lignes.
    Exemple index clé primaire sur champA et index sur champB et champC
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Nom de l'index  Nom du Champ  Ordre de tri
    --------------  ------------  ----------
    ChampA          ChampA        Croissant
    Index2          ChampB        Croissant
                    ChampC        Croissant
    A+


    bonjour,

    J ai le même probleme que tonio-lille.
    J ai une table enzyme qui contient 4 champs :
    - enzymeID : clé primaire, auto-increment
    - EC
    - nameE
    - Family

    je voudrais qu'il n'y ait pas 2 paires identiques sur les champs EC et NameE.
    J'ai créé un index unique sur les champs EC et NameE, mais cela ne fonctionne pas.

    J 'ai vu qu'il serait possible d'utiliser une fonction trigger pour vérifier l'unicité des lignes insérées?

    merci de votre aide

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/03/2014, 14h04
  2. Réponses: 5
    Dernier message: 25/03/2014, 10h35
  3. [AC-2003] Créer une contrainte d'unicité basé sur deux champs(hors clé primaire)
    Par adelcrb dans le forum Modélisation
    Réponses: 1
    Dernier message: 31/08/2013, 21h06
  4. [AC-2003] Créer un correcteur d'orthographe basé sur une table de données
    Par Miss Ti dans le forum VBA Access
    Réponses: 0
    Dernier message: 13/05/2009, 15h36
  5. Réponses: 2
    Dernier message: 02/04/2008, 19h05

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