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 :

Liste déroulante dans un sous-formulaire [AC-2010]


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Liste déroulante dans un sous-formulaire
    Bonjour à tous,

    voilà mon problème :

    j'aimerai pouvoir changer l'état d'un suivi client (chaque client représente une ligne d'enregistrement dans la table "RI") depuis une liste située dans sous-formulaire ci-dessous :

    Nom : Capture.JPG
Affichages : 139
Taille : 94,4 Ko

    Sachant que :
    - le nom de l'état (Etat.nometat) est contenu dans la table "Etat" dont la clé primaire est Etat.numetat
    - la table RI est liée à la table Etat par le champ RI.numetat (liaison 1-plusieurs)

    J'ai donc ajouté un ComboBox dans le détail du ss-formulaire, avec comme propriétés:
    -Source contrôle : nometat afin qu'Access sélectionne pour chaque client l'état actuel de son suivi
    -Contenu : SELECT Etat.numetat, Etat.nometat FROM Etat; afin que l'on ne puisse sélectionner que les états existants
    -Origine source : Table/Requête

    A l'ouverture du ss-formulaire, Access me sélectionne bien dans le combobox le nometat et il y a la bonne liste qui s'affiche :

    Nom : Sans titre.jpg
Affichages : 114
Taille : 20,6 Ko

    Cependant en changeant l'état de la liste déroulante il insère le Etat.numetat dans le champs Etat.nometat et il affiche la même valeur de la liste déroulante d'un enregistrement dans les listes des autres enregistrement.

    Nom : Capture2.JPG
Affichages : 114
Taille : 14,9 KoNom : Capture3.JPG
Affichages : 128
Taille : 15,1 Ko

    Y a-t-il un moyen de faire fonctionner cette liste ? Ça faciliterait grandement la gestion du suivi. Si non, quelle est la solution la plus simple ? Insérer un bouton qui ouvrirait un formulaire spécifique à l'enregistrement choisit afin de changer les champs qui dépendent d'une autre table ?

    Merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    D'abord, il faut vérifier la propriété Colonne liée de votre liste déroulante. Vu ce que vous dites, elle doit faire référence actuellement à la première colonne, ce qui provoque :
    Cependant en changeant l'état de la liste déroulante il insère le Etat.numetat dans le champs Etat.nometat
    Donc à priori il y a un champ inutile dans votre table RI parce que si vous y avez numetat, vous récupérez le nometat à partir de la table Etat.
    - la table RI est liée à la table Etat par le champ RI.numetat (liaison 1-plusieurs)
    Il faut mettre comme source contrôle de la liste déroulante le champ RI.numetat. Le nom de l'état sera récupéré à partir de sa propriété Column (comme ce n'est que de l'affichage).

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour Madefemere, et merci de m'avoir répondu !

    Je suis néophyte mais de ce que je comprends concernant la liste déroulante :

    le champs sur lequel on veut agir est celui contenu dans la propriété Source contrôle
    => donc c'est bien [RI]![numetat] qu'il faut entrer

    Le problème c'est que, maintenant que j'ai modifié ça, Access m'affiche au choix dans la liste :
    - rien lorsque que la Colonne liée est la première (1 : Etat.numetat)
    - #Nom? lorsque que la Colonne liée est la deuxième (2 : Etat.nometat)
    + impossibilité de sélectionner un champ dans la liste (ce qui est normal)

    il faut vérifier la propriété Colonne liée de votre liste déroulante. Vu ce que vous dites, elle doit faire référence actuellement à la première colonne
    Je crois que c'est bien la première colonne qu'il faut lier car elle contient le Etat.numetat désiré, d'après :
    "la propriété ColonneLiée précise quelles valeurs de la colonne choisir et appliquer comme valeur pour le contrôle"

    Le nom de l'état sera récupéré à partir de sa propriété Column (comme ce n'est que de l'affichage).
    J'en déduis que c'est là où ça bloque. Du coup en passant par VBA :

    - Faut-il choisir l'événement Sur entrée de la liste déroulante pour entrer le code?
    - Quelle expression entrer pour voir le nom de l'état (Etat.nometat) avec la propriété ListBox.Column ? J'avoue être un peu perdu là dedans...

    De plus je trouve dommage de ne pas trouver plus d'informations sur ce sujet car modifier un champ depuis une liste contenue dans un enregistrement de formulaire me paraît très utile pour n'importe quelle BDD Access ...

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Ci-joint un exemple qui reproduit la solution que vous recherchiez avec les possibilités dans l'utilisation d'une zone de liste déroulante.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci mille fois !!!

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Je viens de m'apercevoir que lorsque la source du formulaire est une table ça marche mais lorsque qu'elle est basée sur une requête ça ne marche plus ... Dommage !

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Normalement ça n'a aucun rapport. Qu'importe la source de votre formulaire ou sous-formulaire.
    Est-ce que vous pouvez poster votre application sans les données et indiquer dans quel formulaire il y a un souci.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

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

Discussions similaires

  1. [AC-2007] Liste déroulante dans un sous formulaire
    Par Théo Kienchie dans le forum IHM
    Réponses: 5
    Dernier message: 07/05/2015, 08h47
  2. Réponses: 4
    Dernier message: 20/02/2012, 16h59
  3. Réponses: 10
    Dernier message: 21/09/2010, 16h53
  4. Liste déroulante dans un sous/sous/formulaire
    Par 3dball dans le forum IHM
    Réponses: 1
    Dernier message: 26/03/2009, 16h42
  5. Réponses: 0
    Dernier message: 10/10/2007, 16h40

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