OVH Cloud OVH Cloud

souci avec liste déroulante

2 réponses
Avatar
jluc
Bonjour,

j'ai dans ma base (sous Acces 2003) une requete (recherche_articles) avec un
premier champs "numero" et trois champs "ref1", "ref2" et "ref3"

Dans un formulaire "livraison" je veux remplir une zone de liste déroulante
avec indifféremment les valeurs de "ref1", "ref2" ou "ref3".

Dans origine source de la liste déroulante, je met table/requete.
Puis dans Contenu, je met la commande suivante :
SELECT recherche_articles.ref1, recherche_articles.ref2,
recherche_articles.ref3 FROM recherche_articles; (crée avec le générateur de
requete)

Lorsque j'ouvre mon formulaire, seule la valeur de "ref1" peut être
sélectionnée.
Lorsque je remplace les virgules par +, une seule valeur est alors
selectionnable dans ma liste, la concaténation des trois champs.

Comment m'y prendre pour pouvoir sélectionner une des trois valeurs dans ma
liste ?

merci d'avance

JLUC

2 réponses

Avatar
Xavier HUE
Bonjour,

Une liste déroulante ne peut contenir que la valeur d'une seule colonne.
Pour résoudre ton problème, tu peux essayer effectivement de concaténer tes
trois zones. Cette colonne devra être la colonne liée dans ta liste
déroulante, et devra être visible.

SELECT recherche_articles.ref1 & recherche_articles.ref2 &
recherche_articles.ref3 As TaCleConcatenee, recherche_articles.ref1,
recherche_articles.ref2, recherche_articles.ref3 FROM recherche_articles

Ensuite, en VBA tu peux récupérer la valeur des colonnes:
Me.TaListe.Column(0) => La Clé Concaténée
Me.TaListe.Column(1) => La 2ème colonne (ref1)...

Cordialement.



Bonjour,

j'ai dans ma base (sous Acces 2003) une requete (recherche_articles) avec un
premier champs "numero" et trois champs "ref1", "ref2" et "ref3"

Dans un formulaire "livraison" je veux remplir une zone de liste déroulante
avec indifféremment les valeurs de "ref1", "ref2" ou "ref3".

Dans origine source de la liste déroulante, je met table/requete.
Puis dans Contenu, je met la commande suivante :
SELECT recherche_articles.ref1, recherche_articles.ref2,
recherche_articles.ref3 FROM recherche_articles; (crée avec le générateur de
requete)

Lorsque j'ouvre mon formulaire, seule la valeur de "ref1" peut être
sélectionnée.
Lorsque je remplace les virgules par +, une seule valeur est alors
selectionnable dans ma liste, la concaténation des trois champs.

Comment m'y prendre pour pouvoir sélectionner une des trois valeurs dans ma
liste ?

merci d'avance

JLUC


Avatar
Leti
Bonjour !

j'ai dans ma base (sous Acces 2003) une requete (recherche_articles) avec un
premier champs "numero" et trois champs "ref1", "ref2" et "ref3"
Dans un formulaire "livraison" je veux remplir une zone de liste déroulante
avec indifféremment les valeurs de "ref1", "ref2" ou "ref3".
Dans origine source de la liste déroulante, je met table/requete.
Puis dans Contenu, je met la commande suivante :
SELECT recherche_articles.ref1, recherche_articles.ref2,
recherche_articles.ref3 FROM recherche_articles; (crée avec le générateur de
requete)
Comment m'y prendre pour pouvoir sélectionner une des trois valeurs dans ma
liste ?


Si tu souhaites pouvoir sélectionner dans la liste du ref1 ou ref2 ou ref3
... tu peux faire une requête UNION :
SELECT DISTINCT recherche_articles.ref1 FROM recherche_articles UNION SELECT
DISTINCT recherche_articles.ref2 FROM recherche_articles UNION SELECT
DISTINCT recherche_articles.ref3 FROM recherche_articles;

Et là ta liste a une seule colonne avec les trois ref ...

Leti :)