2 Zones de liste dans un formulaire

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #6379111
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." 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






Claude B.
Le #6335211
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

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." 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











Publicité
Poster une réponse
Anonyme