OVH Cloud OVH Cloud

Passage en critère d'une requete d'une valeur d'une liste

3 réponses
Avatar
Polemos
Bonjour à tout le monde !

Après avoir écumé les différentes possibilités d'Excel durant
plusieurs années, je passe à Access et rejoins votre forum...

Mon problème est simple en apparence mais me bloque depuis ce matin,
c'est rageant !

Sur un formulaire, j'ai une liste déroullante avec 4 items (printemps,
été, ...)
Je veux utiliser l'item sélectionné dans la liste pour le passer en
critère dans une requête.

Cela ne fonctionne jamais : requête vide.

En testant avec un champ texte banal, cela fonctionne sans problème.


Quelqu'un aurait-il une idée qui pourrait me guider ?

Cordialement,
Polemos

3 réponses

Avatar
Jean
-----Message d'origine-----
Bonjour à tout le monde !

Après avoir écumé les différentes possibilités d'Excel
durant

plusieurs années, je passe à Access et rejoins votre
forum...


Mon problème est simple en apparence mais me bloque
depuis ce matin,

c'est rageant !

Sur un formulaire, j'ai une liste déroullante avec 4
items (printemps,

été, ...)
Je veux utiliser l'item sélectionné dans la liste pour
le passer en

critère dans une requête.

Cela ne fonctionne jamais : requête vide.

En testant avec un champ texte banal, cela fonctionne
sans problème.



Quelqu'un aurait-il une idée qui pourrait me guider ?

Cordialement,
Polemos


Pour récupérer la valeur de ta zone de liste, tu dois
cibler sa colonne :

Nomducontrole.column(0).value

le 0 correspond à la 1ere colonne qui apparait dans ta
zone de liste.

Ce qui fait qu'en cliquant sur ta zone de liste
Nomducontrole.column(0).value te renverra la valeur de la
colonne 0.

Mais tu dois protéger la requête contre une saisie vide
(tu ne clique pas sur la zone de liste, et la valeur
renvoyée sera nulle, et message d'erreur.)

If NomduControle.listindex=-1 then

Avatar
Jean
Pour récupérer la valeur de ta zone de liste, tu dois
cibler sa colonne :

Nomducontrole.column(0).value

le 0 correspond à la 1ere colonne qui apparait dans ta
zone de liste.

Ce qui fait qu'en cliquant sur ta zone de liste
Nomducontrole.column(0).value te renverra la valeur de la
colonne 0.

Mais tu dois protéger la requête contre une saisie vide
(tu ne clique pas sur la zone de liste, la valeur
renvoyée sera nulle, et message d'erreur de ta requete.)

If NomduControle.listindex=-1 then
msgbox "Vous n'avez pas choisin une
saison !",vbexclamation,"Attention."
exit sub
end if

tu place ici ta requete.

@+ Jean
Avatar
3stone
Salut,

| Après avoir écumé les différentes possibilités d'Excel durant
| plusieurs années, je passe à Access et rejoins votre forum...

Alors bienvenue !

| Sur un formulaire, j'ai une liste déroullante avec 4 items (printemps, été, ...)
| Je veux utiliser l'item sélectionné dans la liste pour le passer en critère dans une requête.

Ou ce trouve cette requête... ?

Essaie avec comme critère:

Forms![NomDuFormulaire]![NomDeLaListe]

pour autant que la liste n'ait qu'une colonne.
Sinon, renseigner en plus la colonne par:

Forms![NomDuFormulaire]![NomDeLaListe].Column(1)

pour la seconde colonne.



--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------