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 :

Utilisation de Liste déroulante pour sélectionner et modifier élément d'une table [AC-2010]


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien Géomatique
    Inscrit en
    Janvier 2016
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien Géomatique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 181
    Points : 101
    Points
    101
    Par défaut Utilisation de Liste déroulante pour sélectionner et modifier élément d'une table
    Bonjour,

    J'ai une table Client : nom, prénom, société, téléphone et RefIDMandat (qui associe le client au numéro de Mandat)

    Exemple:
    Cournoyer, Michael, BPR, 555-555-5555, 1
    Dupont, Jacques, EXP, 555-555-5555,1

    Je veux utiliser une liste déroulante afin de ne pas être obligé de saisir les champs si le client existe déjà dans la base de donnée.
    Le problème est que si Cournoyer, Michael est associé au mandat 1 et au mandat 2. Il sera entré dans ma table comme un nouvel enregistrement.

    Cournoyer, Michael, BPR, 555-555-5555, 1
    Cournoyer, Michael, BPR, 555-555-5555, 2
    Dupont, Jacques, EXP, 555-555-5555,1

    Donc, lorsque je fais dérouler ma liste, je vois à 2 reprises le nom de Cournoyer Michael. Comment devrais-je m'y prendre afin d'avoir une liste déroulante sans doublons.
    Je ne veux pas utiliser une clé primaire multiple (sur l'ensemble des champs) pour ne pas obliger l'utilisateur à saisir TOUT les info du client. Tant que le nom et prénom sont saisies, c'est parfait.

    À noter que lorsque ma sélection est fait
    J'ai ce petit code qui permet d'ajouter dans la table.

    Me.PrenomContact = Me.Étiquette15.Column(0)
    Me.NomContact = Me.Étiquette15.Column(1)
    Me.Societe = Me.Étiquette15.Column(2)
    Me.Fonction = Me.Étiquette15.Column(3)
    Me.courriel = Me.Étiquette15.Column(4)
    Me.Telephone = Me.Étiquette15.Column(5)
    Me.poste = Me.Étiquette15.Column(6)
    Me.telephone2 = Me.Étiquette15.Column(7)


    Merci d'Avance pour votre temps.

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    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 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Bonjour,
    dommage que tu n'as pas utilisé une clé primaire de type Numéro auto (en créant également un index unique avec nom et prénom) pour ta table clients associée à une table mandats avec la clé primaire pour créer la relation entre les 2, cela aurait été plus simple ...
    Sinon, tu peux faire une requête de regroupement sur nom, prénom, société, téléphone pour supprimer les doublons
    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
    Technicien Géomatique
    Inscrit en
    Janvier 2016
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien Géomatique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 181
    Points : 101
    Points
    101
    Par défaut
    Bonjour et merci,

    Effectivement j'ai une clé primaire sur un numéro auto. Je pourrais voir pour mettre mes champs nom et prénom en index unique comme tu le mentionnes. Cependant, si pour un autre mandat, je veux utiliser le même client. Dans ma table Client il sera dupliqué.
    Ou bien si j'ai 2 clients .. Cournoyer Michael et Cournoyer David. Si j'index mon champs nom sans doublons, il ne voudra pas enregistrer le nouveau client.

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    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 637
    Points : 14 611
    Points
    14 611
    Par défaut
    si pour un autre mandat, je veux utiliser le même client. Dans ma table Client il sera dupliqué.
    Oui, si tu n'a qu'une seule table pour les clients et les mandats, malheureusement.
    Ou bien si j'ai 2 clients .. Cournoyer Michael et Cournoyer David. Si j'index mon champs nom sans doublons, il ne voudra pas enregistrer le nouveau client.
    Non si tu crées un index composé de Nom et Prénom.
    Sans cela, je ne vois pas comment on a pu créer des fichiers clients cohérents depuis l'existence d'Access.
    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 ?

  5. #5
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    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 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Voici un exemple de clé unique composée :

    Nom : PK_Unique.JPG
Affichages : 171
Taille : 50,4 Ko

    et avec çà impossible de créer un doublon sur nom et prénom et cela n'empêche pas d'avoir n fois le même nom :

    Nom : Pk_unique_test.JPG
Affichages : 146
Taille : 44,8 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 ?

  6. #6
    Membre régulier
    Homme Profil pro
    Technicien Géomatique
    Inscrit en
    Janvier 2016
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien Géomatique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 181
    Points : 101
    Points
    101
    Par défaut
    Ohhh ok !!!!
    C'est dans la creation de la table qu'on voit ca?
    Je vois index OUI - avec doublons
    oui - sans doublons

    Comment dois-je proceder pour mettre multiple comme dans ton exemple ?

    Et je possede 1 table mandat et une client. Je devrais alors faire une table de jointure pour eviter les doublons ou seulement utiliser la technique des index !! Tres interessant !

    Merci 1000x

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    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 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonsoir
    C'est dans la creation de la table qu'on voit ca?
    oui, dans le ruban, bouton Index (icône avec l'éclair)
    Je vois index OUI - avec doublons
    oui - sans doublons

    Comment dois-je proceder pour mettre multiple comme dans ton exemple ?
    comme cela après avoir cliqué sur Index :
    1) dans la colonne "Nom de l'index" du premier champ tu lui donnes un nom puis tu sélectionnes ton premier champ (colonne "Nom du champ")
    2) tu sélectionnes Oui pour la propriété Unique dans le tableau propriétés de l'index
    3) dans la colonne "Nom du champ" tu sélectionnes les autres champs
    4) s'il y a lieu, il faut enlever Oui - sans doublons sur ces champs car ce n'est valable que pour le champ concerné et non pas l'ensemble des champs de l'index qui a maintenant sa propre contrainte d'intégrité en index unique non primaire.
    5) laisser le Numéro auto en primaire unique.
    Je devrais alors faire une table de jointure pour eviter les doublons ou seulement utiliser la technique des index
    avec 2 tables, la jointure est obligatoire (avec l'identifiant du client qui devra se trouver maintenant dans la table mandat) en tant que clé étrangère (clé primaire d'une autre table)
    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 ?

  8. #8
    Membre régulier
    Homme Profil pro
    Technicien Géomatique
    Inscrit en
    Janvier 2016
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien Géomatique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 181
    Points : 101
    Points
    101
    Par défaut
    Tu me donnes un sérieux coup de pouce !!
    Lorsque je parle de table de jointure
    Je veux dire
    Table mandat table mandat client et table client
    Relation 1 a plusieurs. De mandat a mandatclient
    Relation plusieurs a 1 de mandat client a client

    Puisquil peut y avoir plusieurs clients par mandats.

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    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 637
    Points : 14 611
    Points
    14 611
    Par défaut
    donc dans la table mandat-client, une clé unique non primaire composée de N° mandat, N° client (pour éviter 2 fois le même client pou un même mandat), le N° auto étant la clé primaire unique.
    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 ?

  10. #10
    Membre régulier
    Homme Profil pro
    Technicien Géomatique
    Inscrit en
    Janvier 2016
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien Géomatique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 181
    Points : 101
    Points
    101
    Par défaut
    Merci!!

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

Discussions similaires

  1. [AC-2010] Lien entre liste déroulante d'un formulaire et une table.
    Par mathieu10000 dans le forum Access
    Réponses: 4
    Dernier message: 07/07/2010, 19h43
  2. Réponses: 5
    Dernier message: 18/11/2009, 11h25
  3. [MySQL] Indexer une liste déroulante sur le champ d'une table
    Par RootsRagga dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 01/12/2008, 21h39
  4. Calcul de la Médiane pour chaque élément d'une table
    Par yuekerobero dans le forum Requêtes
    Réponses: 11
    Dernier message: 30/09/2008, 12h01
  5. Réponses: 41
    Dernier message: 06/02/2006, 23h49

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