OVH Cloud OVH Cloud

pb de clause select sur un champ de formulaire

9 réponses
Avatar
lecrol
Bonjour à tous,
Sur un formulaire, j’ai un champ indépendant qui ouvre une liste déroulante
avec la clause sélect ci-dessous :
SELECT Mytho.N°, Mytho.Nom FROM Mytho WHERE
Mytho.Group_Famille=Form!Group_Famille;

[Group_Famille] est un autre champ "texte" de ce même formulaire. La requête
consiste donc à m’ouvrir la liste déroulante avec les noms des individus
ayant tous dans leur champ [Group_Famille] la même valeur que mon
enregistrement en cours sur le formulaire.

Cela fonctionne parfaitement, mais seulement la 1e fois. Exemple
**** une fiche n° 1 avec group famille = « DUPONT »
la liste déroulante me donne bien toutes les autres fiches ayant cette même
valeur « DUPONT » en Group_Famille
**** une autre fiche plus loin, n° 18 par exemple, avec « ANATOLE » en
[Group_Famille]. Mon champ liste déroulante me fournit alors toujours la
liste initiale « DUPONT », comme si la requête restait « ouverte » et ne se «
re-effectuait » pas ou comme si le champ critère de le requete conservait sa
valeur initiale "DUPONT" ! Le champ [Group_Famille] de la 2e fois, et après,
semble comme ignoré
Qui peut m’éclairer ?? Un grand merci par avance !
ROLAND

9 réponses

Avatar
Bonjour

Dans ta table ou ta requête Mytho, renomme le champ Nom en autre chose, comme NomMytho : cela
peut provoquer un conflit avec des fonctions ou noms réservés d'access.

Préfère également NoMytho ou No plutôt que N° pour ne pas être obligé de délimiter le nom de
champ par des crochets systématiquement (comme lorsqu'on mets des espaces)

à+
--
Arnaud
-----------------------------------
http://users.skynet.be/mpfa/
-----------------------------------


"lecrol" a écrit dans le message de news:

| Bonjour à tous,
| Sur un formulaire, j'ai un champ indépendant qui ouvre une liste déroulante
| avec la clause sélect ci-dessous :
| SELECT Mytho.N°, Mytho.Nom FROM Mytho WHERE
| Mytho.Group_Famille=Form!Group_Famille;
|
| [Group_Famille] est un autre champ "texte" de ce même formulaire. La requête
| consiste donc à m'ouvrir la liste déroulante avec les noms des individus
| ayant tous dans leur champ [Group_Famille] la même valeur que mon
| enregistrement en cours sur le formulaire.
|
| Cela fonctionne parfaitement, mais seulement la 1e fois. Exemple
| **** une fiche n° 1 avec group famille = « DUPONT »
| la liste déroulante me donne bien toutes les autres fiches ayant cette même
| valeur « DUPONT » en Group_Famille
| **** une autre fiche plus loin, n° 18 par exemple, avec « ANATOLE » en
| [Group_Famille]. Mon champ liste déroulante me fournit alors toujours la
| liste initiale « DUPONT », comme si la requête restait « ouverte » et ne se «
| re-effectuait » pas ou comme si le champ critère de le requete conservait sa
| valeur initiale "DUPONT" ! Le champ [Group_Famille] de la 2e fois, et après,
| semble comme ignoré
| Qui peut m'éclairer ?? Un grand merci par avance !
| ROLAND
|
Avatar
lecrol
Merci de ton tuyau. Je vais suivre ton conseil et changer les noms de mes
champs Nom et N°

Mais je doute un peu que là soit la cause de mon pb. En effet, j'ai
d'autres requêtes, sur le nom notamment, et elles fonctionnent toutes
correctement. Celle-ci, qui m'embête, c'est la seule requête associée à un
filtre "Select.. where..." Mais je vais quand même essayer. Encore merci. Si
tu vois une autre piste, dis-le moi. ROLAND
Avatar
3stone
Salut,

"lecrol"
| Mais je doute un peu que là soit la cause de mon pb. En effet, j'ai
| d'autres requêtes, sur le nom notamment, et elles fonctionnent toutes
| correctement. Celle-ci, qui m'embête, c'est la seule requête associée à un
| filtre "Select.. where..." Mais je vais quand même essayer. Encore merci. Si
| tu vois une autre piste, dis-le moi. ROLAND


Dans l'événement "Sur activation" de ton formulaire, tu mets :

Me.NomDeLaListe.Requery


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Avatar
lecrol
bonsoir et.. MERCI

1°) Sur mon formulaire j'ai déja une procédure Vba en "Sur activation".
Elle me change la couleur de fond du formulaire s'il s'agit d'un homme ou
d'une femme. Est-ce que je peux y ajouter une instruction Vbe qui ferait ce
que tu me proposes ?

2°) j'ai mis l'expression que tu me proposes sur le paramétre "Sur activé".
J'ai bien sûr remplacé ton mot "Me.nomdela liste" par celui de ma requête à
moi : "Me. Requ_Group-Famille". Mais là, j'ai le message d'erreur " pas
trouvé la macro Me." J'ai essayé aussi avec Me!Requ_Groupe famille.. mais
même résultat ! Apparemment, il voudrait un nom de macro à cet endroit. Mais
moi, je lui propose une requête. Tu vois une lumière dans mon tunnel ?
Merci encore. ROLAND
Avatar
3stone
Salut,

"lecrol"
| 1°) Sur mon formulaire j'ai déja une procédure Vba en "Sur activation".
| Elle me change la couleur de fond du formulaire s'il s'agit d'un homme ou
| d'une femme. Est-ce que je peux y ajouter une instruction Vbe qui ferait ce
| que tu me proposes ?


Bien sûr... il suffit de l'ajouter avant le "End Sub"


| 2°) j'ai mis l'expression que tu me proposes sur le paramétre "Sur activé".
| J'ai bien sûr remplacé ton mot "Me.nomdela liste" par celui de ma requête à
| moi : "Me. Requ_Group-Famille". Mais là, j'ai le message d'erreur " pas
| trouvé la macro Me." J'ai essayé aussi avec Me!Requ_Groupe famille.. mais
| même résultat ! Apparemment, il voudrait un nom de macro à cet endroit. Mais
| moi, je lui propose une requête. Tu vois une lumière dans mon tunnel ?

Pas sur activé, mais bien "Sur activation"

Cela ne se place pas directement sur la ligne, comme on le ferait avec une macro,
mais dans le module VBA de la procédure évenementielle !


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Avatar
lecrol
ok je l'écris donc dans ma procédure avant la ligen End SUb Mais ne faut-il
pas ajouter un mot clé pour dire "sur activation" ?
J'écris juste ton expressions Me.xxxx. requiry ?
Merci
Avatar
lecrol
je viens tout juste d'essayer, une fois tel que et une autre fois avec
l'opérateur DoCmd en tête de ligne DoCmd Me.xxx. requiry
Dans les 2 cas, j'ai un message d'erreur De mémoire : "membre ou méthode non
trouvée" et il se fixe sur le nom de ma requete !
Avatar
lecrol
youppie !! j'ai trouvé et ça marche !! MERCI de ton aide précieuse. C'était
bien ce qu'il fallait ajouter en procédure Vba Cela actualise la valeur du
champ concerné. Et donc c'était le nom du champ qu'il fallait y mettre et pas
celui de la requête, ce que j'avais commencé par faire J'ai deviné ça tout
seul ! Encore mille fois MERCI !! ROLAND
Avatar
3stone
re,

"lecrol"
| youppie !! j'ai trouvé et ça marche !! MERCI de ton aide précieuse. C'était
| bien ce qu'il fallait ajouter en procédure Vba Cela actualise la valeur du
| champ concerné. Et donc c'était le nom du champ qu'il fallait y mettre et pas
| celui de la requête, ce que j'avais commencé par faire J'ai deviné ça tout
| seul ! Encore mille fois MERCI !! ROLAND


Bon, ok, ca marche ;-)



Me.NomDeLaListe.Requery
^^^^^^^^^^^^^^^



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/