OVH Cloud OVH Cloud

filtre dans requete

16 réponses
Avatar
pierre-yves
bonjour,
débutant avec Access
voila mon soucis :

je désire créée une requête (saisie) avec plusieurs champs de deux tables
différentes. (jusque là ca va)

le premier champ fixé (par liste déroulante), le deuxième (liste déroulante
aussi) devrait être limité par le premier (là ca va plus !)

ex : champ 1 : ville
champ 2 : identité

une fois la ville choisie le deuxième champ ne doit proposé que les
identités présentes dans la ville choisie.

comment faire ?
cela ressemble a un filtre fixé par le champ précédent non ?
les relations entre les tables sont de types un-plusieurs

merci de votre aide.
PY

6 réponses

1 2
Avatar
Ayrton [ ASC ]
Bonjour,

" 3stone "
Salut,


Salut Pierre,

Le "comment" est lié et défini par l'endroit où tu mets le code...
Tu veux filtrer un sous-form par une liste qui est dans le form
principal ?


Oui

Pour les adressages, imprègne toi ce tableau dans la mémoire:
http://www.mvps.org/accessfr/forms/frm0031.htm

ou plus simplement, imprime-le ;-)
http://www.mvps.org/access/downloads/Syntax_for_subs.zip


Merci ; au moins cela aura le mérite de me rafraîchir la mémoire ;-)

si j'ai raté une marche, demande...


C'est gentil mais je crois qu'avec mon déménagement prévu pour Samedi plus
la fatigue accumulée ces derniers mois, je n'arrive même plus à bien
m'expliquer pour demander quelque chose ;-(
A vrai dire, j'ai une petite base Test qui, comme son nom l'indique, me sert
à faire des tests lol ; daans celle-ci, j'y ai laissé l'exemple du grenier
de self-Access que j'ai mis il y a longtemps ; comme je pense que tu dois le
connaître, tu comprendras peut être plus facilement ce que je voulais savoir
:
Dans cet exemple, les deux listes déroulantes n'ont pas de " Source " ;au
pire, la première peut en avoir une ( le champs Activité ); j'essayais
simplement de savoir si en filtrant comme indiqué par une première liste
déroulante et en affichant le résultat dans la deuxième liste, je pouvais
dans un sous-form afficher par exemple l'ID des clients.
Pour résumer : un form principal avec mes deux listes deroulantes ( 1 qui
filtre les activites, l'autre pour le resultat des clients qui pratiquent
cette activité et un sous-form qui me donnerait par exomple l' ID des
clients selectionnés en fonction de l'activité choisie ) ; déjà là, je suis
pas sûr d'être clair ;-)

J'avais une petite idée pour une appli évoluée mais avant tu te doute bien
que j'essaie de tester sur une appli très simple !
Si tu ne m'as pas bien compris, laisse tomber Pierre ; on verra ça quand je
serais plus en forme et plus explicite dans ma demande :-)

Bonne Journée

--
Cordialement
Christophe

Avatar
pierre-yves
merci pour toutes ces réponses

je m'y colle, j'essaye et on verra si j'ai bien compris

a bientôt
PY

"Ayrton [ ASC ]" a écrit dans le message de news:

Bonjour,

" 3stone "
Salut,


Salut Pierre,

Le "comment" est lié et défini par l'endroit où tu mets le code...
Tu veux filtrer un sous-form par une liste qui est dans le form
principal ?


Oui

Pour les adressages, imprègne toi ce tableau dans la mémoire:
http://www.mvps.org/accessfr/forms/frm0031.htm

ou plus simplement, imprime-le ;-)
http://www.mvps.org/access/downloads/Syntax_for_subs.zip


Merci ; au moins cela aura le mérite de me rafraîchir la mémoire ;-)

si j'ai raté une marche, demande...


C'est gentil mais je crois qu'avec mon déménagement prévu pour Samedi plus
la fatigue accumulée ces derniers mois, je n'arrive même plus à bien
m'expliquer pour demander quelque chose ;-(
A vrai dire, j'ai une petite base Test qui, comme son nom l'indique, me
sert à faire des tests lol ; daans celle-ci, j'y ai laissé l'exemple du
grenier de self-Access que j'ai mis il y a longtemps ; comme je pense que
tu dois le connaître, tu comprendras peut être plus facilement ce que je
voulais savoir :
Dans cet exemple, les deux listes déroulantes n'ont pas de " Source " ;au
pire, la première peut en avoir une ( le champs Activité ); j'essayais
simplement de savoir si en filtrant comme indiqué par une première liste
déroulante et en affichant le résultat dans la deuxième liste, je pouvais
dans un sous-form afficher par exemple l'ID des clients.
Pour résumer : un form principal avec mes deux listes deroulantes ( 1 qui
filtre les activites, l'autre pour le resultat des clients qui pratiquent
cette activité et un sous-form qui me donnerait par exomple l' ID des
clients selectionnés en fonction de l'activité choisie ) ; déjà là, je
suis pas sûr d'être clair ;-)

J'avais une petite idée pour une appli évoluée mais avant tu te doute bien
que j'essaie de tester sur une appli très simple !
Si tu ne m'as pas bien compris, laisse tomber Pierre ; on verra ça quand
je serais plus en forme et plus explicite dans ma demande :-)

Bonne Journée

--
Cordialement
Christophe




Avatar
3stone
Salut,

"Ayrton [ ASC ]"
| Dans cet exemple, les deux listes déroulantes n'ont pas de " Source " ;au


Excuse-moi! Sur ce coup, c'est moi qui n'était pas clair...
Lorsque j'ai dit "source", ce n'était pas dans le sens Access...
je pensais simplement à "la source qui alimente" la liste...
et il y à toujours une, sinon la liste est vide.
Donc, peu importe que ce soit une liste de valeurs (saisie directement)
ou une requête ou même une table (rarement idéal)


| pire, la première peut en avoir une ( le champs Activité ); j'essayais
| simplement de savoir si en filtrant comme indiqué par une première liste
| déroulante et en affichant le résultat dans la deuxième liste, je pouvais
| dans un sous-form afficher par exemple l'ID des clients.
| Pour résumer : un form principal avec mes deux listes deroulantes ( 1 qui
| filtre les activites, l'autre pour le resultat des clients qui pratiquent
| cette activité et un sous-form qui me donnerait par exomple l' ID des
| clients selectionnés en fonction de l'activité choisie ) ; déjà là, je suis
| pas sûr d'être clair ;-)

J'ai été revoir l'exemple de Hervé...

- La première liste est une "liste de valeurs", mais qui peut tout aussi bien
être basée sur une requête.
- La seconde, basée sur une requête, est "filtrée" par la valeur sélectionnée
dans la première liste (forms!frmClient!cmbActivites, ici "Plongée")
- Il suffit maintenant de "filtrer" la requête source de ton sous-formulaire
par la valeur sélectionnée dans la seconde liste.
donc: forms!NomFormPrincipal!NomSecondeListe

et d'ajouter dans l'événement "après mise à jour" de la seconde liste
un rafraîchissement du sous-form

Me.NomObjetSousForm.requery

- Tu peux aussi ne pas filtrer le sous formulaire, mais activer le filtre
sur "après mise à jour" de ta seconde liste...

Me!CtrlSousForm.Form.Filter = "ID=" & NomListe
Me!CtrlSousForm.Form.FilterOn = True


Ca va comme ca ?

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Ayrton [ASC]
Bonjour *3stone*
Dans ton message de news:,
Tu as pensé très fort :-(*)
Salut,


Bonjour 3stone,


Excuse-moi! Sur ce coup, c'est moi qui n'était pas clair...


Y a pas de mal; de toute façon, vu comment je m'étais expliqué, ce n'étais
pas évident pour toi de comprendre ce que je chercahis à faire ;-)



Lorsque j'ai dit "source", ce n'était pas dans le sens Access...
je pensais simplement à "la source qui alimente" la liste...
et il y à toujours une, sinon la liste est vide.
Donc, peu importe que ce soit une liste de valeurs (saisie
directement)
ou une requête ou même une table (rarement idéal)


Ok ; vu pour ça


J'ai été revoir l'exemple de Hervé...

- La première liste est une "liste de valeurs", mais qui peut tout
aussi bien être basée sur une requête.
- La seconde, basée sur une requête, est "filtrée" par la valeur
sélectionnée dans la première liste (forms!frmClient!cmbActivites,
ici "Plongée") - Il suffit maintenant de "filtrer" la requête source
de ton sous-formulaire par la valeur sélectionnée dans la seconde
liste. donc: forms!NomFormPrincipal!NomSecondeListe

et d'ajouter dans l'événement "après mise à jour" de la seconde
liste un rafraîchissement du sous-form

Me.NomObjetSousForm.requery

- Tu peux aussi ne pas filtrer le sous formulaire, mais activer le
filtre sur "après mise à jour" de ta seconde liste...

Me!CtrlSousForm.Form.Filter = "ID=" & NomListe
Me!CtrlSousForm.Form.FilterOn = True


Ca va comme ca ?


C'est impeccable de chez impeccable ;-)
Encore une fois, merci beaucoup Pierre pour toutes ces infos ; la partie
concernant le sous-form m'échappait ; et maintenant avec toutes ces infos,
j'ai largement de quoi me débrouiller .
En plus de ça je suis ravi d'avoir eu ta réponse maintenant car comme je te
l'ai dit je déménage samedi et je vais suivre ma connexion; donc entre le
moment où ils vont me couper ( sûrement ce soir ou demain )et le moment où
ils vont me la transférer ( milieu de semaine prochaine ) je n'aurais plus
de connexion ;-( donc pas d'accès au Ng ;-(; j'ai donc le temps, pendant
cette période, de mettre en application tous tes conseils.

Donc merci encore ;-)
Bon après-midi

A+ Tard

--
@+
Ayrton
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm

Avatar
3stone
"Ayrton [ASC]"
| donc entre le moment où ils vont me couper...


fait gaffe, prévois des pansements !

:o)))


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Ayrton [ASC]
Bonjour *3stone*
Dans ton message de news:,
Tu as pensé très fort :-(*)

"Ayrton [ASC]"
donc entre le moment où ils vont me couper...



fait gaffe, prévois des pansements !

o)))



Yes c'est prévu ! ! Surtout que j'espère qu'ils ne vont couper *que* la
connexion !! rofl

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm


1 2