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

2 Zones de liste dans un formulaire

2 réponses
Avatar
Claude B.
Bonsoir à tous,

J'ai une table contenant la liste des membres avec entre autre, un champ
contenant le numéro de la section [NoS] et un autre champ contenant le
numéro de la sous-section [NoSs].
Pour établir des listes avec un maximum de possibilités, j'ai fait un
formulaire avec 2 zones de liste à choix multiples [ListeSections] et
[ListeSousSections].
En utilisant cette façon de faire :
http://officesystemaccess.seneque.net/ex_selection_multiple.htm
j'ai réussi à faire
1) une requête affichant la liste des membres d'une ou plusieurs
sections
2) une autre requête affichant la liste des membres d'une ou plusieurs
sous-sections
Donc, indépendamment, ces 2 zones de liste fonctionnent.

Mais je désire ne sortir qu'une seule liste.

J'ai essayé de mettre les 2 fonctions dans la même requête mais rien ne
fonctionne.

Voici les codes utilisés :
Requête essai 1 : SELECT [03_Licences par personne et par section].* FROM
[03_Licences par personne et par section] WHERE
(((CompareList([NoS]))=True));
Requête essai 2 : SELECT [03_Licences par personne et par section].* FROM
[03_Licences par personne et par section] WHERE
(((CompareList([NoSs]))=True));
Requête finale mixte :SELECT [03_Licences par personne et par section].*
FROM [03_Licences par personne et par section] WHERE
(((CompareList([NoS]))=True) AND ((CompareList1([NoSs])) =True));
Formulaire :
Private Sub Commande0_Click()
If (Not PrepareList(Me.Name, Me.ListeSections.Name)) Or (Not
PrepareList2(Me.Name, Me.ListeSousSections.Name)) Then
MsgBox "impossible de lancer la requête"
Else
DoCmd.OpenQuery "05_essai"
End If
End Sub


Qu'est-ce que j'ai fait faux ?
Est-ce que quelqu'un peut m'aider ?

Un grand merci d'avance pour vos conseils.

Bonne soirée.

Claude

2 réponses

Avatar
Bonjour
Pour appliquer l'exemple donné, il me semble qu'il faut qu'une liste
deroulante ou du spécifie tes N°S et N°Ss. Comme cela tu as le choix dans ta
liste déroulante. Ce qui te permet de selectionner un seul N° de n'importe
quelle categorie. Par contre, il faut identifier tes enregistrements à
séléctionner par leur catégorie.
Guy
"Claude B." a écrit dans le
message de news: 473e1a73$
Bonsoir à tous,

J'ai une table contenant la liste des membres avec entre autre, un champ
contenant le numéro de la section [NoS] et un autre champ contenant le
numéro de la sous-section [NoSs].
Pour établir des listes avec un maximum de possibilités, j'ai fait un
formulaire avec 2 zones de liste à choix multiples [ListeSections] et
[ListeSousSections].
En utilisant cette façon de faire :
http://officesystemaccess.seneque.net/ex_selection_multiple.htm
j'ai réussi à faire
1) une requête affichant la liste des membres d'une ou plusieurs
sections
2) une autre requête affichant la liste des membres d'une ou plusieurs
sous-sections
Donc, indépendamment, ces 2 zones de liste fonctionnent.

Mais je désire ne sortir qu'une seule liste.

J'ai essayé de mettre les 2 fonctions dans la même requête mais rien ne
fonctionne.

Voici les codes utilisés :
Requête essai 1 : SELECT [03_Licences par personne et par section].*
FROM [03_Licences par personne et par section] WHERE
(((CompareList([NoS]))=True));
Requête essai 2 : SELECT [03_Licences par personne et par section].*
FROM [03_Licences par personne et par section] WHERE
(((CompareList([NoSs]))=True));
Requête finale mixte :SELECT [03_Licences par personne et par section].*
FROM [03_Licences par personne et par section] WHERE
(((CompareList([NoS]))=True) AND ((CompareList1([NoSs])) =True));
Formulaire :
Private Sub Commande0_Click()
If (Not PrepareList(Me.Name, Me.ListeSections.Name)) Or (Not
PrepareList2(Me.Name, Me.ListeSousSections.Name)) Then
MsgBox "impossible de lancer la requête"
Else
DoCmd.OpenQuery "05_essai"
End If
End Sub


Qu'est-ce que j'ai fait faux ?
Est-ce que quelqu'un peut m'aider ?

Un grand merci d'avance pour vos conseils.

Bonne soirée.

Claude






Avatar
Claude B.
Bonjour Guy,

Merci pour ta suggestion mais je ne veux pas le faire comme ça car je dois
pouvoir imprimer soit une liste des membres d'une section, une liste des
membres d'une sous-section, une liste des membres qui sont dans une section
et dans une sous-section. En gros, toutes les combinaisons possible entre
les 5 sections et les 8 sous-sections.

Mais peut-être que je fantasme un peu trop ???

Merci et bonne soirée.

Claude

<@club-internet.fr> a écrit dans le message de news:
473ea4c6$0$21149$
Bonjour
Pour appliquer l'exemple donné, il me semble qu'il faut qu'une liste
deroulante ou du spécifie tes N°S et N°Ss. Comme cela tu as le choix dans
ta liste déroulante. Ce qui te permet de selectionner un seul N° de
n'importe quelle categorie. Par contre, il faut identifier tes
enregistrements à séléctionner par leur catégorie.
Guy
"Claude B." a écrit dans le
message de news: 473e1a73$
Bonsoir à tous,

J'ai une table contenant la liste des membres avec entre autre, un champ
contenant le numéro de la section [NoS] et un autre champ contenant le
numéro de la sous-section [NoSs].
Pour établir des listes avec un maximum de possibilités, j'ai fait un
formulaire avec 2 zones de liste à choix multiples [ListeSections] et
[ListeSousSections].
En utilisant cette façon de faire :
http://officesystemaccess.seneque.net/ex_selection_multiple.htm
j'ai réussi à faire
1) une requête affichant la liste des membres d'une ou plusieurs
sections
2) une autre requête affichant la liste des membres d'une ou plusieurs
sous-sections
Donc, indépendamment, ces 2 zones de liste fonctionnent.

Mais je désire ne sortir qu'une seule liste.

J'ai essayé de mettre les 2 fonctions dans la même requête mais rien ne
fonctionne.

Voici les codes utilisés :
Requête essai 1 : SELECT [03_Licences par personne et par section].* FROM
[03_Licences par personne et par section] WHERE
(((CompareList([NoS]))=True));
Requête essai 2 : SELECT [03_Licences par personne et par section].* FROM
[03_Licences par personne et par section] WHERE
(((CompareList([NoSs]))=True));
Requête finale mixte :SELECT [03_Licences par personne et par section].*
FROM [03_Licences par personne et par section] WHERE
(((CompareList([NoS]))=True) AND ((CompareList1([NoSs])) =True));
Formulaire :
Private Sub Commande0_Click()
If (Not PrepareList(Me.Name, Me.ListeSections.Name)) Or (Not
PrepareList2(Me.Name, Me.ListeSousSections.Name)) Then
MsgBox "impossible de lancer la requête"
Else
DoCmd.OpenQuery "05_essai"
End If
End Sub


Qu'est-ce que j'ai fait faux ?
Est-ce que quelqu'un peut m'aider ?

Un grand merci d'avance pour vos conseils.

Bonne soirée.

Claude