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 :

Access pb liste deroulante modifiable


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Access pb liste deroulante modifiable
    bonjour

    warning ! question de newbie inside
    j'ai parcouri le faq du forum mais rien ne repond a mon pb
    voilà j'ai 1 table personne avec les champs(id_personne (autoincrementé )/ nom / id_ville) et 1 table ville avec les champs (id_ville(autoincrementé ) / libelle_ville) ces 2 tables sont en relation qui permet de relier le nom de la ville au nom de la personne, jusque là tout va bien.

    maintenant j'ai fait un formulaire avec les zones de saisie (nom de la personne et le nom de la ville qui est dans 1 liste deroulante modifiable)
    Qd je fais la saisie ,je choisis la ville dans la liste.
    Mais quand je choisi le nom d'1 ville deja present dans la table ville,
    Access insere ce meme nom dans la table comme 1 nouvelle insertion avec un identifiant autoincrementé au lieu d'utiliser la valeur deja presente dans cett table, comment eviter ca ?

    a+

  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
    Bonjour,

    Est-ce que la source du contrôle de liste est bien le champ Id_Ville de la table Personne?

    Bonne chance,
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    bonjour pgz
    la source vient de libelle_ville de table ville
    c pas bon ?

  4. #4
    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
    Et non!

    Je crois que la source doit être Id_Ville de table personne. Je parle de la source de la liste. Pas de sa RowSource qui, elle, doit être basée sur la table Ville...

    Bonne chance,
    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

  5. #5
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Je ne suis pas sur que j'ai bien compris mais je vais essayer de comprends par rapport à ce que j'ai compris :

    tu nous dit :

    voilà j'ai 1 table personne avec les champs(id_personne (autoincrementé )/ nom / id_ville) et 1 table ville avec les champs (id_ville(autoincrementé ) / libelle_ville)
    que je résume :

    TB_PERSONNES
    pk_personne (NuméroAuto)
    nom_personne (Texte)
    fk_ville (Numerique)

    TB_VILLES
    pk_ville (NuméroAuto)
    nom_ville (Texre)

    Et la table TB_VILLES est reliée à la tabée TB_PERSONNES grâce à la fk_ville située dans la table TB_PERSONNES.

    Jusque là, je pense que l'on est d'accord.

    Ce que tu aimerais c'est faire un formulaire dans lequel il y aurait les champs :

    nom_personne ( que tu saisierais à la main )
    fk_ville ( zone de liste déroulante où tu pourrais choisir le nom de la ville )

    Ta question est comment faire la zone de liste déroulante ??? Si c'est le cas,

    voici comment il faut faire :

    1) Création de ton formulaire avec les champs : pk_personne, nom_personne, fk_ville
    2) Clique droit sur fk_ville
    3) Remplacer par ... --> zone de liste déroulante
    4) Clique droit propriétés
    5) A la ligne contenu, tu cliques sur les "..." à la fin de la ligne
    5.1) Tu vas arrivé dans un éditeur de requête
    6) Tu sélesction ta table TB_VILLES
    7) Tu sélectionne TOUS les champs de ta table TB_VILLES
    8) Tu fait un clique droit et tu choisis MODE_SQL
    9) Tu place un DISTINCT juste après le SELECT
    10) Tu peux fermer
    11) Quitte le mode création de ton formulaire et tu vas voir que ta zone de liste déroulante va marcher ...

    Voici les types d'enregistrements que tu auras dans tes tables :

    TB_PERSONNES
    pk_personne / nom_personne / fk_ville /
    1 / dupont / 1
    2 / dupres / 4
    3 / courtet / 3
    4/ saviola / 2
    etc ... ... ...

    TB_VILLES
    pk_ville / nom_ville
    1 / Paris
    2 / Lyon
    3 / Sochaux
    4 / Nantes
    etc ... ... ...

    c'est cela que tu voulais savoir ??? J'espère que j'ai pu t'aider ...

    A tout bientôt ...
    ... Je me méfie de l'irrespect mais je revendique le droit à la frénésie ...

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    snoopy69 ,merci pour ton explication si detaillé !
    c'est presque ce que je veux faire , qd j'ai suivi ce que tu as expliqué,
    dans le formulaire j'ai le champ pk_personne (presence de pk) /
    nom_personne (je peux remplir le nom )/ fk_ville (presence de fk)
    Justement je veux qu'à la place de fk_ville (presence de fk dans la liste deroulant ) que je puisse voir le nom_ville (liste des noms de villes venant de TB_VILLES ) et le selectionner et pas voir que le fk_ville (pas tres explicite).

    la liste nom_ville de TB_VILLES doit etre modifiable (c-a-d si la ville n'est pas present sur la liste que l'utilisateur puisse saisir le nom de la ville non present et que le nom de la ville saisi manuellement soit inserer dans la table TB_VILLES)


    Ce que je voulais faire fonctionnait presque car quand on choisit un nom de ville deja existant dans la table TB_VILLES et bah au lieu de reutiliser le nom de ville present , je constate que ca insere le meme nom de la ville un 2eme fois dans TB_VILLES ,je suis bloqué là avant de poster ici

  7. #7
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Point 1 :

    Tu me dis :
    Justement je veux qu'à la place de fk_ville (presence de fk dans la liste deroulant ) que je puisse voir le nom_ville (liste des noms de villes venant de TB_VILLES ) et le selectionner et pas voir que le fk_ville (pas tres explicite).
    alors tu aimerais voir que les champ ville dans ta zone de liste déroulante ... alors ce que tu fais il te faut cacher la pk c'est à dire :

    1) Passe en mode création de ton formulaire
    2) Clique droit sur la zone de liste déroulante --> Propriétés Onglet toutes
    3) Va à la ligne : nombre de colonne et tu met 2
    4) Va à la ligne : largeur colonne et tu met 0;3

    Là tu n'auras que le nom de la ville afficher dans ta zone de liste déroulante ... ... ...

    Point 2 :
    Tu me dis :

    la liste nom_ville de TB_VILLES doit etre modifiable (c-a-d si la ville n'est pas present sur la liste que l'utilisateur puisse saisir le nom de la ville non present et que le nom de la ville saisi manuellement soit inserer dans la table TB_VILLES)
    Ce que tu peux faire pour faire cela c'est utiliser une autre méthode ... créer un formulaire qui gère les villes c'est à dire que tu fais un formulaire dans lequel tu auras ton champ pk_ville et ton champ nom_ville
    Une fois cela fait, tu revas dans ton formulaire (celui où il y a la zone de liste déroulante) et tu créer un bouton avec lequel tu peux ouvrir un formulaire et sur ce bouton tu mets comme nom : Ajouter une ville ...

    Pour faire ce que tu veux faire il doit y avoir une autre méthode .. je ne sais pas laquelle mais il doit y en avoir une ... moi pour faire ce que tu veux j'utilise le principe du bouton qui ouvre un autre formulaire ... cela marche en tout cas ... ce qu'il te faut faire si tu choisis cette solution c'est faire un REQUERY sur ta zone de liste déroulante. Ce REQUERY sert à mettre à jour ta zone de liste déroulante si tu veux faire cela suis ce que je te dis ci-dessous :
    1) Clique droit sur la zone de liste déroulante --> Propriété --> Onglet TOUTES
    2) Tu vas sur l'évenèmement qui se nomme : SUR RECEPTION FOCUS et tu clique sur les "..." situé en fin de la ligne ...
    3) Dans la fenêtre qui s'ouvre tu clique sur : Générateur De Code
    3.1) la fenêtre qui va s'ouvrire c'est un fenêtre d'édition pour le VBA
    4) Tu auras cela comme code qui va s'afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub fk_ville_GotFocus()
     
     
    End Sub
    5) Inscrit cette ligne dans l'espace que j'ai laissé :
    fk_ville.REQUERY
    6) tu peux quitter ...
    7) Pas de soucis cela fonctionne ... --> J'ai testé pour toi ... lol ...


    En espérant t'avoir aidé ... ... ...

    +++

    Snoop ... ....
    ... Je me méfie de l'irrespect mais je revendique le droit à la frénésie ...

  8. #8
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    C'est ce que tu voulais ???

    Si tu ne comprends pas quelque chose n'hésite pas ... ... essaie de jeter un euil pour voir si il n'y a pas un code qui permet d'ajouter directement le nom d'une ville dans ta zone de liste déroulante ... cela doit être faisable ... mais la méthode dite la méthode du "bouton" marche très bien pour autant que tu n'oublie pas de faire un

    +++
    ... Je me méfie de l'irrespect mais je revendique le droit à la frénésie ...

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    resalut
    J'ai suivi ton "tutorial" à la LETTRE et tout fonctionne !
    en fait en suivant ton tuto j'ai compris pourquoi ca ne fonctionner pas avec ma maniere car : dans le formulaire j'ai utilisé dans la liste deroulante le nom_ville de TB_VILLES au lieu de fk_ville de TB_PERSONNES , quel idiot !

    encore merci pour ta patience snoopy69 ;-)
    merci à pgz egalement
    et prepare ton clavier, je reviendrai avec mes mesaventures sur Access lol

  10. #10
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Mais de rien ... c'est le but du forum de rendre service ...

    N'oublie pas de cliquer sur le bouton RESOLU ...

    A tout bientôt ...

    +++
    ++
    +
    ... Je me méfie de l'irrespect mais je revendique le droit à la frénésie ...

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

Discussions similaires

  1. [OpenOffice][Tableur] [Macro] Valeur Source des listes deroulantes à modifier par macro
    Par Dralty dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 23/08/2011, 16h16
  2. [A-00] Choix depuis une liste deroulante modifiable
    Par sangdragon dans le forum IHM
    Réponses: 2
    Dernier message: 03/02/2009, 10h30
  3. [Access 2002] Modifier valeur dans liste déroulante
    Par wperezrobles dans le forum Access
    Réponses: 5
    Dernier message: 10/10/2006, 09h51
  4. modifier une liste deroulante
    Par navona dans le forum IHM
    Réponses: 2
    Dernier message: 30/11/2005, 00h01

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