OVH Cloud OVH Cloud

Filtre à l'aide d'un champ zone de liste modifiale

4 réponses
Avatar
Dick
Bonjour
Je désirerais effectuer un filtre à l'aide d'un champ zone de liste
modifiale dans un formulaire
Comment faire?
Merci

4 réponses

Avatar
Eric
Bonjour Dick

En supposant que la liste déroulante s'appelle cboListe

Si [ToChamp] est alphanumérique

Private Sub cboListe_AfterUpdate()
Me.Filter="[TonChamp]='" & cboListe.Value & "'"
Me.FilterOn=True
End Sub

Si [ToChamp] est numérique

Private Sub cboListe_AfterUpdate()
Me.Filter="[TonChamp]=" & cboListe.Value
Me.FilterOn=True
End Sub


a+
Eric

"Dick" écrivait news::

Bonjour
Je désirerais effectuer un filtre à l'aide d'un champ zone de liste
modifiale dans un formulaire
Comment faire?
Merci





Avatar
Dick
C'est pas tout a fait ce que je désirerais j'ai mal formulé ma question. Je
récapitule
Je suis avec Access 97
J'ai admettons 2 formulaires qui sappellent Formulaire 1 & Formulaire 2
Le Formulaire 1 s'ouvre en plein écran et affiche des Etiquettes
transformées en boutons.
L'orsque je clic sur une des Etiquettes j'ouvre le Formulaire 2 en mode
continu filtré et trié.
Ce formulaire provient d'une requete. J'ai une requete pour chaque
Etiquettes
Ce que je voudrais c'est remplacer les Etiquettes du Formulaire 1 par une
liste déroulante qui ferait les mêmes actions concernant le Formulaire 2
c.à.d que la liste déroulante contiendrait par exemple les noms que j'ai
pour le moment sur plusieurs Etiquettes et que l'orsque j'affiche un de ces
noms le Formulaire 2 s'ouvre filtré sur ce nom. Est-ce possible et comment
faire.
Merci


"Eric" a écrit dans le message news:


Bonjour Dick

En supposant que la liste déroulante s'appelle cboListe

Si [ToChamp] est alphanumérique

Private Sub cboListe_AfterUpdate()
Me.Filter="[TonChamp]='" & cboListe.Value & "'"
Me.FilterOn=True
End Sub

Si [ToChamp] est numérique

Private Sub cboListe_AfterUpdate()
Me.Filter="[TonChamp]=" & cboListe.Value
Me.FilterOn=True
End Sub


a+
Eric



Avatar
Eric
re,

Si je me trompe pas, les étiquettes représentent les différentes valeurs
d'un champ. Et tu as fait autant de requêtes que de valeurs (distinctes)!

Si c'est la cas, à ta place je ferai une requête et une seule qui
contiendrait tous les champs nécessaires plus le champ correspondant à
ton filtre et le critère de tri sur le champ concerné pour le
formulaire2.

Sur mise à jour de la combo (After_Update), je mettrai
DoCmd.Openform "Formulaire2",,,"[ChampServantDeFiltre]='" & Me.cboFiltre
& "'"

Mais je me trompe peut-être car je comprends mal ton problème.

A+
Eric

"Dick" écrivait
news::

C'est pas tout a fait ce que je désirerais j'ai mal formulé ma
question. Je récapitule
Je suis avec Access 97
J'ai admettons 2 formulaires qui sappellent Formulaire 1 & Formulaire
2 Le Formulaire 1 s'ouvre en plein écran et affiche des Etiquettes
transformées en boutons.
L'orsque je clic sur une des Etiquettes j'ouvre le Formulaire 2 en
mode continu filtré et trié.
Ce formulaire provient d'une requete. J'ai une requete pour chaque
Etiquettes
Ce que je voudrais c'est remplacer les Etiquettes du Formulaire 1 par
une liste déroulante qui ferait les mêmes actions concernant le
Formulaire 2 c.à.d que la liste déroulante contiendrait par exemple
les noms que j'ai pour le moment sur plusieurs Etiquettes et que
l'orsque j'affiche un de ces noms le Formulaire 2 s'ouvre filtré sur
ce nom. Est-ce possible et comment faire.
Merci


"Eric" a écrit dans le message news:


Bonjour Dick

En supposant que la liste déroulante s'appelle cboListe

Si [ToChamp] est alphanumérique

Private Sub cboListe_AfterUpdate()
Me.Filter="[TonChamp]='" & cboListe.Value & "'"
Me.FilterOn=True
End Sub

Si [ToChamp] est numérique

Private Sub cboListe_AfterUpdate()
Me.Filter="[TonChamp]=" & cboListe.Value
Me.FilterOn=True
End Sub


a+
Eric









Avatar
Dick
Pour faire simple ce que je voudrais faire c'est me servir d'une zone de
liste modifiable pour effectuer un filtre tri sur un formulaire un peu comme
lorsque lon sélectionne un controle d'un formulaire, clic filtre par
sélection et le formulaire trié s'affiche c'est à dire que la sélection du
controle et le clic filtre par sélection serait remplacer par une liste
modifiable

"Eric" a écrit dans le message news:

re,

Si je me trompe pas, les étiquettes représentent les différentes valeurs
d'un champ. Et tu as fait autant de requêtes que de valeurs (distinctes)!

Si c'est la cas, à ta place je ferai une requête et une seule qui
contiendrait tous les champs nécessaires plus le champ correspondant à
ton filtre et le critère de tri sur le champ concerné pour le
formulaire2.

Sur mise à jour de la combo (After_Update), je mettrai
DoCmd.Openform "Formulaire2",,,"[ChampServantDeFiltre]='" & Me.cboFiltre
& "'"

Mais je me trompe peut-être car je comprends mal ton problème.

A+
Eric

"Dick" écrivait
news::

C'est pas tout a fait ce que je désirerais j'ai mal formulé ma
question. Je récapitule
Je suis avec Access 97
J'ai admettons 2 formulaires qui sappellent Formulaire 1 & Formulaire
2 Le Formulaire 1 s'ouvre en plein écran et affiche des Etiquettes
transformées en boutons.
L'orsque je clic sur une des Etiquettes j'ouvre le Formulaire 2 en
mode continu filtré et trié.
Ce formulaire provient d'une requete. J'ai une requete pour chaque
Etiquettes
Ce que je voudrais c'est remplacer les Etiquettes du Formulaire 1 par
une liste déroulante qui ferait les mêmes actions concernant le
Formulaire 2 c.à.d que la liste déroulante contiendrait par exemple
les noms que j'ai pour le moment sur plusieurs Etiquettes et que
l'orsque j'affiche un de ces noms le Formulaire 2 s'ouvre filtré sur
ce nom. Est-ce possible et comment faire.
Merci


"Eric" a écrit dans le message news:


Bonjour Dick

En supposant que la liste déroulante s'appelle cboListe

Si [ToChamp] est alphanumérique

Private Sub cboListe_AfterUpdate()
Me.Filter="[TonChamp]='" & cboListe.Value & "'"
Me.FilterOn=True
End Sub

Si [ToChamp] est numérique

Private Sub cboListe_AfterUpdate()
Me.Filter="[TonChamp]=" & cboListe.Value
Me.FilterOn=True
End Sub


a+
Eric