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 :

Créer ComboBox avec l'union de deux colonnes


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Points : 14
    Points
    14
    Par défaut Créer ComboBox avec l'union de deux colonnes
    Bonjour à tous ,


    J'ai une requête SQL qui m'affiche 1 ligne et 2 colonnes.

    Je souhaite stocker ces deux valeurs à la suite dans une comboBox.

    Voici le code de la création de ma liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set ctlLabel = CreateControl(frm.Name, acComboBox, , "", , intDataX + 9000, intDataY)
    ctlLabel4.Name = "Combo" & 1
    Pour remplir ma liste avec ma requête SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     sql = "SELECT ... "
    ctlLabel4.RowSource = sql
    Cela marche mais je n'ai que la première valeur.

    J'ai pensé à boucler sur les valeurs de ma requête et d'ajouter en tant que String à ma comboBox mais j'ai une erreur qui se déclenche (qui se produit également lorsque j'exécute)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ctlLabel4.add= "blablabla"
     ' ou 
    F_b!Combo1.Add ("test")
    Je précise que je suis dans le formulaire F_a, que je clique sur un bouton pour générer mes listes dans le formulaire F_b.


    Merci & bonne journée

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Cela marche mais je n'ai que la première valeur.
    C'est à dire ?
    Celle du 1er champ ou bien une seule ligne ?
    Si cas 1 alors adapte ton nombre de colonnes et leur largeur respective en fonction du nombre de champs souhaités.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Merci argyronet pour ta réponse.

    Par exemple ma requête me donne comme résultat :
    Ligne 1 col 1 : Result 1 ; Ligne 1 Col 2 : Result 2

    La valeur stockée dans ma liste est Result 1.


    Si cas 1 alors adapte ton nombre de colonnes et leur largeur respective en fonction du nombre de champs souhaités.
    Je ne pense pas avoir compris : Je souhaite avoir dans ma comboBox comme valeurs :
    - Result 1
    - Result 2


    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Humm, ta requête est étrange...
    Pourquoi un résultat en ligne ?

    Normalement ta requête devrait renvoyer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                Col
    Ligne 1 : Result 1
    Ligne 2 : Result 2 
    Ligne 3 : Result 3 
    Ligne n : Result n
    Peut-on voir le requête ?
    ou alors, je n'ai rien compris...

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Voici le code SQL (simplifié) de ma requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT t1.NameAsset, t2.NameAsset
    FROM Assets AS t1 INNER JOIN Assets AS t2 ON t1.idAsset = t2.IdRef
    WHERE (((t2.idAsset)=1));
    Du coup cela me renvoi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    t1.NameAsset | t2.NAmeAsset (nom des deux colonnes)
    aaaa         | bbbbb
    Et du coup je veux stocker aaaa et bbbb dans la comboBox

    En espérant avoir été plus clair

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Oui, c'est plus clair ainsi...
    Vu comme ça, j'aurais monté une requête UNION entre t1 et t2.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Vu comme ça, j'aurais monté une requête UNION entre t1 et t2.
    J'ai essayé mais pas réussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT t1.NameAsset
    FROM Assets AS t1
     
    UNION
     
    SELECT t2.NameAsset
    FROM Assets AS t2
    WHERE t1.idAsset = t2.IdBenchmarkRef AND (((t2.idAsset)=1));
    Il me demande de saisir t1.idAsset...

  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Euh, j'y perds mon grec...
    Tu as combien de tables ? En toute apparence, tu n'en as qu'une et deux champs que tu veux lister en colonnes, c'est ça ?
    ...
    Et tu veux monter une requête sur cette même table aliasée en T1 et T2 avec une jointure externe sur idAsset et IdRef ?
    J'ai du mal à entrevoir la structure et le contenu... et pourquoi soudain le champ IdBenchmarkRef fait son apparition alors qu'il n'y était pas initialement ?

    Peux-tu être plus explicite car la on frise le troll

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    J'ai une seule table, dans cette table j'ai idAsset, NameAsset, IdBenchmarkRef (qui doit être un nombre qui "réfère" à idAsset, comme une "clé étrangère" sur une même table).

    En toute apparence, tu n'en as qu'une et deux champs que tu veux lister en colonnes, c'est ça ?
    La réponse est donc oui.

    Pour la requête SQL la première fois je l'ai appelé idRef et la deuxième fois idBenchmarkRef (mais ça reste le même champs) désolé.

  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Humm, j'ai du mal à entrevoir l'objectf final...
    Bref, si j'ai compris ce que tu veux, tu dois pouvoir remplir ta liste comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT t1.idAsset, t1.NameAsset
    FROM Assets AS t1
    WHERE (((t1.idAsset)=1) AND ((t1.idBenchmarkRef)=[t1].[idAsset]));
    ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT t1.idAsset, t1.NameAsset
    FROM Assets AS t1 LEFT JOIN Assets AS t2 ON t1.idAsset = t2.idBenchmarkRef
    WHERE (((t2.idAsset)=1))
    GROUP BY t1.idAsset, t1.NameAsset;
    Je me suis basé sur ces données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    idAsset	idBenchmarkRef	NameAsset
    1	1		Ligne1
    1	2		Ligne2
    1	1		Ligne3
    4	4		Ligne4
    1	1		Ligne5
    6	6		Ligne6
    1	1		Ligne7
    et j'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    idAsset	NameAsset
    1	Ligne1
    1	Ligne3
    1	Ligne5
    1	Ligne7
    Est-ce cela ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/05/2012, 18h14
  2. Union de deux colonnes
    Par longplaying dans le forum Requêtes
    Réponses: 7
    Dernier message: 28/04/2012, 15h19
  3. Réponses: 3
    Dernier message: 13/01/2012, 11h58
  4. [XL-2003] Remplir une combobox avec le contenu d'une colonne d'un autre fichier Excel
    Par funkykiwi dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/02/2011, 15h50
  5. [XL-2003] alimenter combobox avec l'en-tête de colonne
    Par avenir80 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/12/2010, 07h11

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