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 :

Comment récupérer 2 valeurs à partir d'un même choix dans liste déroulante ayant plusieurs colonnes [AC-2007]


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Points : 52
    Points
    52
    Par défaut Comment récupérer 2 valeurs à partir d'un même choix dans liste déroulante ayant plusieurs colonnes
    Bonjour à tous,

    D'abord le contexte :
    1 - J'ai une table (1) pour des types de véhicules avec les champs suivants : T1_ID, T1_Code et T1_Libellé

    2 - J'ai une table (n) pour des véhicules, liée à la table T1 par le champ T1_ID avec les champs suivants : Tn_ID, T1_ID, Tn_Nom, Tn_...

    3 - Dans un formulaire de saisie de la table Tn je souhaite que lorsque l'utilisateur crée un nouvel enregistrement pour ajouter un véhicule, il puisse indiquer dans un champ avec une liste déroulante, le type de véhicule et ainsi le visualiser. J'ai donc défini une requête pour ma liste déroulante "LstType" qui me ramène les champs T1_ID, T1_Code et T1_Libellé depuis la table T1 sachant que seuls les champs T1_Code et T1_Libellé sont visibles lorsque la liste s'affiche.

    4 - Dans le formulaire de saisie pour Tn, j'ai donc un champ basé sur T1_Code auquel est affecté la liste déroulante "LstType" pour récupérer et visualiser le code du type de véhicule correspondant au véhicule créé.

    Mon problème :
    Lors de la saisie du champ T1_Code, je sais donc récupérer la valeur choisie dans la liste LstType et l'affecter à T1_Code mais je souhaiterai récupérer aussi (en même temps) la valeur masquée (T1_ID) pour mettre automatiquement à jour le champ Tn.T1_ID avec celle-ci et ainsi établir le lien entre Tn et T1 pour le nouvel enregistrement.

    Comment faire cela ? car là je ne sais pas faire et je tourne en rond, si quelqu'un a une solution à me proposer il sera le bienvenu.

    En espérant avoir été clair, Merci d'avance de votre aide.
    Cordialement
    oracle7556

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonsoir,

    Avec NomDeLaListe.Column(0) on récupère l'info de la colonne 1 de la liste.

    La colonne 1 ayant l'index 0 la deux l'index 1 etc.
    Cordialement.

    RJ

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Points : 52
    Points
    52
    Par défaut
    Bonsoir rjamin

    Désolé, tu n'as pas bien compris mon besoin.

    Avec ce que tu me propose, effectivement on récupère bien la colonne 1 qui est dans mon cas masquée et la colonne 2 le code sélectionné mais en 2 instructions différentes si je te comprends bien.
    En tous cas, cela ne me dit pas comment récupérer en même temps 2 valeurs d'une ligne sélectionnée dans cette liste dans 2 champs différents : un qui est affiché (T1_Code) et l'autre (qui s'il pouvait être invisible ce serait bien) qui est Tn.T1_ID.
    Merci tout de même de ta réponse.

    Autrement dit ce que je souhaite --> lors du choix d'une ligne dans la liste déroulante qui apparait après un clic sur le champ Tn.T1_Code de mon formulaire "FormTn" basé sur la table Tn, c'est récupérer à la fois :
    - la valeur de la colonne 2 (Code) de la liste LstType dans le champ support de la liste soit T1.T1_Code placé par exemple en entête de mon formulaire "FormTn".
    ET
    - la valeur de la colonne 1 (ID) de la liste LstType dans un autre champ qui serait en l'occurence Tn.T1_ID mais lui si possible non visible dans le formulaire "FormTn".
    Au final l'objectif est voir d'une part le type de véhicule associé au véhicule en cours de création et d'autre part mettre à jour automatiquement de façon transparente pour l'utilisateur, le lien entre les tables Tn et T1. Tout ceci en UNE SEULE action : le choix d'une ligne dans la liste déroulante apparaissant lors de l'entrée du curseur dans le champ T1_Code placé en entête du formulaire.

    Cela ne me parait pas compliqué en soit mais je ne sais pas l'implémenter d'où mon appel à l'aide ici.

    Cordialement
    oracle7556

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Un petit exemple qui remplit deux champs d'un formulaire à partir de la sélection d'une ligne dans un champ du formulaire qui est une zone de liste.
    Sur l'évènement Réeception du focus du 1er champ à remplir j'ai mis la prcédure suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub ID_Produit_GotFocus()
    'Pour copier le code du produit, dans le Champ ID_Produit à partir du champ ID_Tarif qui est une zone de liste, à la réception du focus.
    'La colonne 1 pour le code produit
    'Lacolonne 2 pour le code founisseur
        Me!ID_Produit = Me!ID_Tarif.Column(1)
        Me!ID_Fourn = Me!ID_Tarif.Column(2)
    End Sub
    Le deux champs ID_Produit et ID_Fourn se remplissent en même temps avec les données de la zone de liste sur les quelles on a cliqué.
    J'espère que cela pourra vous aider.
    Cordialement.

    RJ

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Points : 52
    Points
    52
    Par défaut
    Bonsoir rjamin

    ENORME MERCI
    , c'est exactement cela qu'il me fallait !

    Super je vais pouvoir maintenant sur ce principe avancer bien plus vite dans mon développement.

    Je considère le post comme résolu.

    A bientôt et Encore Merci !
    Cordialement
    oracle7556

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/01/2014, 10h48
  2. [AC-2007] Comment récupérer la valeur du dernier numéro auto inséré dans une table ?
    Par marot_r dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2010, 17h17
  3. Réponses: 11
    Dernier message: 08/04/2005, 11h20
  4. Réponses: 3
    Dernier message: 22/01/2005, 22h06
  5. Réponses: 3
    Dernier message: 08/01/2005, 10h01

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