Bonjour,
Dans mon formulaire Access, j’utilise une zone de liste qui affiche les notes des étudiants et que je remplis à partir d’une requête Union, l'exécution de la raquête ressemble à ça :
--Tous--
19
03
05
11
10
Quand l’utilisateur clique sur Tous, il doit voir dans un nouveau formulaire, les détails tous les étudiants (tous les enregistrements de la table) ;
Quand il clique sur une note (19 par exemple), il doit voir les détails de tous les étudiants ayant comme note 19 ;
Je veux que ma zone de liste permette aux utilisateurs de sélectionner plusieurs valeurs. C’est-à-dire utiliser la sélection multiple. Pour ce faire, dans les propriétés de la zone de liste « Sélection multiple » j’ai mis « Etendue ». Mais j’ai vu que cela tout seul ne suffit pas, et que je dois rajouter du code VBA. Donc j’ai rajouté un bouton Valider où j’ai utilisé le code VBA suivant :
Où
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub cmd0_Click() Dim x As Long For x = 0 To Me.lst0.ListCount - 1 If Me.lst0.Selected(x) = True Then If [lst0].Value = "--All--" Then DoCmd.OpenQuery "AllQuery" Else DoCmd.OpenQuery "CompleteQuery" End If End If Next x End Sub
Lst0 : le nom de ma zone de liste ;
AllQuery : La requête que je veux afficher au cas où l’utilisateur clique sur tous;
CompleteQuery : La requête que je veux afficher au cas où l’utilisateur clique sur une note définie.
Quand je clique sur Valider, cela m’emmène vers une requête vide. C’est-à-dire on m’affiche aucun enregistrement.
Je sais que j'ai des erreurs au niveau du code VBA, mais je ne sais pas où exactement. Quelqu'un peut m'aider?
Partager