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

IHM Discussion :

interdire les doublons - sauf la valeur vide [AC-2010]


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2015
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2015
    Messages : 288
    Points : 87
    Points
    87
    Par défaut interdire les doublons - sauf la valeur vide
    bonjour

    je reviens vers vous avec une demande que je qualifierais d'un peu particulière.
    En effet, j'ai 1 tables T_Prestation avec le champ numérique ID_CORES qui peut être vide, et si non vide, il doit être unique.

    Quand je crée ou modifie une prestation, je voudrais qu'Access vérifie cette condition et je ne sais pas comment faire :
    - au niveau de la table, je ne peux pas interdire les doublons puisque la valeur <vide> sera un doublon
    - au niveau des formulaires, dans la fenêtre "Générateur d'expression", j'ai commencé par écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ID_CORES] est null ou ([ID_CORES] est pas null et
    mais ensuite je bloque car je ne sais pas comment exprimer "ID_CORES ne doit pas être en double"

    auriez-vous une idée svp ?

    d'avance merci !

    cordt

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    - au niveau de la table, je ne peux pas interdire les doublons puisque la valeur <vide> sera un doublon
    si, tu peux il suffit d'ignorer les valeurs nulles dans l'index:

    Nom : _1.JPG
Affichages : 108
Taille : 33,3 Ko
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2015
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2015
    Messages : 288
    Points : 87
    Points
    87
    Par défaut
    bjr,

    je ne sais pas comment on obtient cette fenetre
    ???
    en mode création de ma table T_Prestation, j'ai :

    Nom : T_Prestation_creation.JPG
Affichages : 133
Taille : 58,2 Ko

    Merci de m'éclairer

    cordt

  4. #4
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    En Mode création (tbl) dans le ruban tu as une icône Index (éclair)
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  5. #5
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2015
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2015
    Messages : 288
    Points : 87
    Points
    87
    Par défaut
    ok merci !!!

    alors j'ai ajouté manuellement "ID_CORES" dans la fenetre :
    Nom : T_Prestation_ID_CORES_index.JPG
Affichages : 103
Taille : 33,6 Ko

    puis mis "Unique" et " Ignorer Nulls" à "oui"
    mais je n'arrive pas à enregistrer la table car j'ai le mssg :
    Nom : err_index.JPG
Affichages : 102
Taille : 34,8 Ko

    or j'ai vérifié dans ma table, soit ID_CORES est vide, soit je n'ai pas de doublon (j'ai vérifié en exportant la table et en cherchant les doublons sous Excel)


    qu'ai-je oublié ?

    EDIT : dans la fenetre des Ptés, j'ai "indexé : oui - Avec doublons"

    cordt

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    EDIT : dans la fenetre des Ptés, j'ai "indexé : oui - Avec doublons"
    tu ne peux pas en même temps indiquer "indexé: Oui - Avec Doublons" et ensuite "Unique: Oui", il y a forcément des doublons, d'où le message d'erreur.
    soit ID_CORES est vide, soit je n'ai pas de doublon (j'ai vérifié en exportant la table et en cherchant les doublons sous Excel)
    Je te conseille de vérifier à nouveau (inutile de passer par Excel...):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select id_cores, count(id_cores) from T_Prestation group by id_cores having count(id_cores)>1;
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2015
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2015
    Messages : 288
    Points : 87
    Points
    87
    Par défaut
    ok merci !

    j'ai lancé la requête, effectivement elle trouve que ID_CORES = 890 est un doublon, mais qd je regarde dans la table, je ne trouve pas ce doublon !!!
    ci-dessous la table triée sur ID_CORES par ordre décroissant :
    Nom : T_Prestation-ID_CORES.JPG
Affichages : 109
Taille : 29,9 Ko

    Images attachées Images attachées  

  8. #8
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Re,
    Ta capture d'écran provient bien de cette capture ? Parce que normalement on ne devrait lire que 890
    Images attachées Images attachées  
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  9. #9
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2015
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2015
    Messages : 288
    Points : 87
    Points
    87
    Par défaut
    cela provient de ma table T_Prestation en mode tableau

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    les champs cadrés à gauche sont de type texte, en général ...
    lance cette requête qui te donnera la clé unique des 2 enregistrements en doublons:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select ID from T_Prestation where ID_CORES = "890"
    ou si c'est vraiment du numérique (mais je ne crois pas) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select ID from T_Prestation where ID_CORES = 890
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  11. #11
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2015
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2015
    Messages : 288
    Points : 87
    Points
    87
    Par défaut
    j'ai modifié vos requêtes pour avoir non pas ID mais ID_Prestation, et dans les 2 cas j'obtiens "1019"

    j'ai relancé votre 1ère requête et j'ai tjs "890" comme résultat

  12. #12
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    peux-tu poster la table ? (sans les champs contenant des données confidentielles)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  13. #13
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2015
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2015
    Messages : 288
    Points : 87
    Points
    87
    Par défaut
    bjr,

    via un export csv ?

  14. #14
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    de préférence en Access pour les propriétés des champs
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  15. #15
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2015
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2015
    Messages : 288
    Points : 87
    Points
    87
    Par défaut
    c-a-d dans une BDD Access ne contenant que la table ?

    et je dépose où le fichier ? sur wetransfer ?

  16. #16
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bé oui !
    ou compressé format zip ou rar et ajouté en pièce jointe (menu message: petit trombone après le smiley)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  17. #17
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2015
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2015
    Messages : 288
    Points : 87
    Points
    87
    Par défaut
    re,

    la table se trouve ici

    cordt

  18. #18
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    890 représente le nombre d'enregistrements dont ID_CORES n'est pas valorisé.
    Il n'y avait effectivement pas de doublons avec des chiffres mais avec du vide, le souci c'est que nul n'est pas vide (= "") c'est pour cela qu'il refuse la modification de l'index unique.
    Il faut donc en premier mettre à jour la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE T_Prestation SET ID_CORES = Null WHERE ID_CORES="";
    ensuite faire la modification de l'index.
    Tu devrais en profiter pour passer le champ en numérique, sans cela tu risques d'avoir des soucis avec les tris le jour où tu dépasseras les 4 caractères (à partir de 1000)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  19. #19
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2015
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2015
    Messages : 288
    Points : 87
    Points
    87
    Par défaut


    donc je crée une requête avec votre code que je lance - une seule fois - sur la table ?
    et ensuite j'applique les paramètres de l'index comme vous me l'avez suggéré ?

    EDIT : ça a l'air d'être ok, je n'ai plus de messg d'erreur !!!


  20. #20
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    super,
    n'oublie pas le bouton si tu considères le sujet clos.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

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

Discussions similaires

  1. Interdire les doublons dans un sous-formulaire
    Par Gorane dans le forum IHM
    Réponses: 6
    Dernier message: 14/10/2011, 00h15
  2. Combinaison de key unique -interdire les doublons-
    Par llaffont dans le forum Débuter
    Réponses: 4
    Dernier message: 10/12/2010, 11h38
  3. Réponses: 7
    Dernier message: 28/10/2010, 12h45
  4. [2K8] Problème de doublon sur des valeurs vides
    Par patriceharel dans le forum SSAS
    Réponses: 4
    Dernier message: 09/07/2009, 15h16
  5. Réponses: 2
    Dernier message: 22/07/2005, 08h52

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