Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

filtrer un formulaire par une liste déroulante

3 réponses
Avatar
kikilegeni
Bonjour,
je suis une vrai bêta, comme on dit il est jamais trop tard pour sans rendre compte !
j'ai trois tables comprenant plusieurs champs.
J'ai rassemblé par une requête les champs qui m'intéressent.
je voudrais dans mon formulaire qui se nomme fr_visualisation filtrer les informations en fonction du champ compte.
Cela fonctionne très bien en faisant comme cela dans un formulaire de présentation:

Private Sub Commande61_Click()
Dim choix As Long
'effacer le formulaire principale
DoCmd.Close
DoCmd.OpenForm "fr_visualisation", acNormal, , "[compte] = choix"
End Sub

l'inconvénient c'est que je ne connais pas toujours le numéro de compte.
Donc je souhaite ouvrir le le formulaire fr_visualisation que celui intègre une liste déroulante compte qui me permettrait de filtre le formulaire.

j'ai essayé d'utiliser une zone de liste déroulante avec la macro, mais le résultat ne me sectionne que le premier numéro de compte qu'il trouve et me laisse afficher tous les autres.

Si une âme un peu plus intelligente que moi veut bien m'aider.
Merci d'avance

3 réponses

Avatar
titivirus
Bonjour,
Le plus simple serait peut être:
- d'ouvrir le formulaire sans le filtre,
- De créer une liste déroulante dans le formulaire contenant les
valeurs de "[Compte]"
- D'appliquer un filtre sur le formulaire lorsque la valeur de la
liste déroulante change.
Pour applique un filtre on peut utiliser les propriété suivante:
- NomFormulaire.Form.Filter = "Valeur de la liste déroulante" <=
Alimente le filtre
- NomFormulaire.Form.FilterOn = True <= Active le formulaire (False le
désactive).



kikilegeni a écrit :
Bonjour,
je suis une vrai bêta, comme on dit il est jamais trop tard pour sans rendre
compte !
j'ai trois tables comprenant plusieurs champs.
J'ai rassemblé par une requête les champs qui m'intéressent.
je voudrais dans mon formulaire qui se nomme fr_visualisation filtrer les
informations en fonction du champ compte.
Cela fonctionne très bien en faisant comme cela dans un formulaire de
présentation:

Private Sub Commande61_Click()
Dim choix As Long
'effacer le formulaire principale
DoCmd.Close
DoCmd.OpenForm "fr_visualisation", acNormal, , "[compte] = choix"
End Sub

l'inconvénient c'est que je ne connais pas toujours le numéro de compte.
Donc je souhaite ouvrir le le formulaire fr_visualisation que celui intègre une
liste déroulante compte qui me permettrait de filtre le formulaire.

j'ai essayé d'utiliser une zone de liste déroulante avec la macro, mais le
résultat ne me sectionne que le premier numéro de compte qu'il trouve et me
laisse afficher tous les autres.

Si une âme un peu plus intelligente que moi veut bien m'aider.
Merci d'avance


Avatar
kikilegeni
titivirus a écrit le 11/11/2008 à 12h31 :
Bonjour,
Le plus simple serait peut être:
- d'ouvrir le formulaire sans le filtre,
- De créer une liste déroulante dans le formulaire contenant les
valeurs de "[Compte]"
- D'appliquer un filtre sur le formulaire lorsque la valeur de la
liste déroulante change.
Pour applique un filtre on peut utiliser les propriété suivante:
- NomFormulaire.Form.Filter = "Valeur de la liste déroulante"
<=
Alimente le filtre
- NomFormulaire.Form.FilterOn = True <= Active le formulaire (False le
désactive).



kikilegeni a écrit :
Bonjour,
je suis une vrai bêta, comme on dit il est jamais trop tard pour sans
rendre
compte !
j'ai trois tables comprenant plusieurs champs.
J'ai rassemblé par une requête les champs qui
m'intéressent.
je voudrais dans mon formulaire qui se nomme fr_visualisation filtrer les
informations en fonction du champ compte.
Cela fonctionne très bien en faisant comme cela dans un formulaire de
présentation:

Private Sub Commande61_Click()
Dim choix As Long
'effacer le formulaire principale
DoCmd.Close
DoCmd.OpenForm "fr_visualisation", acNormal, , "[compte] =
choix"
End Sub

l'inconvénient c'est que je ne connais pas toujours le numéro de
compte.
Donc je souhaite ouvrir le le formulaire fr_visualisation que celui
intègre une
liste déroulante compte qui me permettrait de filtre le formulaire.

j'ai essayé d'utiliser une zone de liste déroulante avec la
macro, mais le
résultat ne me sectionne que le premier numéro de compte qu'il
trouve et me
laisse afficher tous les autres.

Si une âme un peu plus intelligente que moi veut bien m'aider.
Merci d'avance





merci d'avoir répondu aussi vite.

Mais cela ne fonctionne pas.
voici je que j'ai fait :

J'ai retiré mon filtre pour ouvrir le formulaire.

Dans mon formulaire nommé fr_visualisation j'ai créé une zone de liste déroulante.
dans son contenu : SELECT [compte].[numCpte], [compte].[intCpte] FROM [compte] ORDER BY [numCpte];
dans son événement après MAJ : procédure événementielle

Private Sub Modifiable15_AfterUpdate()

fr_visualisation.Form.Filter = "modifiable 15"
fr_visualisation.Form.FilterOn = True


End Sub

quand je met en fonction

erreur d'exécution '424'

objet requis
Avatar
titivirus
Il faut mettre Modifiable15.Value à ma place de "Modifiable 15". ce qui
donne:
fr_visualisation.Form.Filter = Modifiable15.Value
fr_visualisation.Form.FilterOn = True
Moi en général je le fait sur le propriété "Sur changement" (Private Sub
Modifiable15_Change()) de la liste déroulante


kikilegeni a écrit :
titivirus a écrit le 11/11/2008 à 12h31 :
Bonjour,
Le plus simple serait peut être:
- d'ouvrir le formulaire sans le filtre,
- De créer une liste déroulante dans le formulaire contenant les
valeurs de "[Compte]"
- D'appliquer un filtre sur le formulaire lorsque la valeur de la
liste déroulante change.
Pour applique un filtre on peut utiliser les propriété suivante:
- NomFormulaire.Form.Filter = "Valeur de la liste déroulante"
< >> Alimente le filtre
- NomFormulaire.Form.FilterOn = True <= Active le formulaire (False le
désactive).



kikilegeni a écrit :
Bonjour,
je suis une vrai bêta, comme on dit il est jamais trop tard pour sans
rendre
compte !
j'ai trois tables comprenant plusieurs champs.
J'ai rassemblé par une requête les champs qui
m'intéressent.
je voudrais dans mon formulaire qui se nomme fr_visualisation filtrer les
informations en fonction du champ compte.
Cela fonctionne très bien en faisant comme cela dans un formulaire de
présentation:

Private Sub Commande61_Click()
Dim choix As Long
'effacer le formulaire principale
DoCmd.Close
DoCmd.OpenForm "fr_visualisation", acNormal, , "[compte] >>> choix"
End Sub

l'inconvénient c'est que je ne connais pas toujours le numéro de
compte.
Donc je souhaite ouvrir le le formulaire fr_visualisation que celui
intègre une
liste déroulante compte qui me permettrait de filtre le formulaire.

j'ai essayé d'utiliser une zone de liste déroulante avec la
macro, mais le
résultat ne me sectionne que le premier numéro de compte qu'il
trouve et me
laisse afficher tous les autres.

Si une âme un peu plus intelligente que moi veut bien m'aider.
Merci d'avance





merci d'avoir répondu aussi vite.

Mais cela ne fonctionne pas.
voici je que j'ai fait :

J'ai retiré mon filtre pour ouvrir le formulaire.

Dans mon formulaire nommé fr_visualisation j'ai créé une zone de liste
déroulante.
dans son contenu : SELECT [compte].[numCpte], [compte].[intCpte] FROM [compte]
ORDER BY [numCpte];
dans son événement après MAJ : procédure événementielle

Private Sub Modifiable15_AfterUpdate()

fr_visualisation.Form.Filter = "modifiable 15"
fr_visualisation.Form.FilterOn = True


End Sub

quand je met en fonction

erreur d'exécution '424'

objet requis