OVH Cloud OVH Cloud

Formulaire paramètre de requête

3 réponses
Avatar
PO2B
Bonjour à tous,

Toujours dans la construction d'un formulaire de paramètre de requête, je
voudrais utiliser une "Zone de Liste" à sélection "multiple" me permettant
de selectionner plusieurs enregistrements (ex : Pour obtenir les Clients
d'un secteur, je désirre pouvoir sélectionner plusieurs secteurs).
J'ai testé la zone de liste pour lancer ma requête, ça fonctionne sur une
sélection si je ne précise pas "Multiple", je laisse "aucun", mais dans ce
cas ça ne me sert pas, et ça ne fonctionne plus dès que je sélectionne
Sélection Multiple "Simple" ou étendue".

Quelqu'un pourrait-il m'aider ?


Message à Raymond : Merci pour ta réponse sur la sélection par case à cocher
(mon post d'hier) , ça fonctionne parfaitement

Patrice

3 réponses

Avatar
EVA
Bonjour,

Je crois que ce que vous cherchez à faire si j'ai bien
compris est une selection de plus en plus restrictive
d'une requete par un ajout de selection dans une liste en
considerant que les textes selectionnes sont les
differents elements que vous cherchez à filtrer dans
votre requete.

Il faut obtenir une requete du type
select * from matable where monsecteur = " & me.maliste

jusque la c'est facile comme vous dite, mais dans une
liste multiselect il faut aller chercher a la main tous
les elements selectionnes et creer votre critere where a
la main pour obtenir
where monchamp= valeurselectionne1 And
monchamp=valeurselectionne2 And
monchmp=ValeurSelctionne3 ... pour tous les elements
selectionnes de la liste.

Si c'est a peu pres ça, il faut à chaque fois construire
votre requete par un code qui va calculer votre requete
pour interroger correctement ce que vous recherchez.

Bon courage.

EVA

-----Message d'origine-----
Bonjour à tous,

Toujours dans la construction d'un formulaire de
paramètre de requête, je

voudrais utiliser une "Zone de Liste" à
sélection "multiple" me permettant

de selectionner plusieurs enregistrements (ex : Pour
obtenir les Clients

d'un secteur, je désirre pouvoir sélectionner plusieurs
secteurs).

J'ai testé la zone de liste pour lancer ma requête, ça
fonctionne sur une

sélection si je ne précise pas "Multiple", je
laisse "aucun", mais dans ce

cas ça ne me sert pas, et ça ne fonctionne plus dès que
je sélectionne

Sélection Multiple "Simple" ou étendue".

Quelqu'un pourrait-il m'aider ?


Message à Raymond : Merci pour ta réponse sur la
sélection par case à cocher

(mon post d'hier) , ça fonctionne parfaitement

Patrice


.



Avatar
PO2B
OK Merci, je vais voir si j'y arrive...

Patrice


"EVA" a écrit dans le message de
news:c8fb01c438f1$9f80aae0$
Bonjour,

Je crois que ce que vous cherchez à faire si j'ai bien
compris est une selection de plus en plus restrictive
d'une requete par un ajout de selection dans une liste en
considerant que les textes selectionnes sont les
differents elements que vous cherchez à filtrer dans
votre requete.

Il faut obtenir une requete du type
select * from matable where monsecteur = " & me.maliste

jusque la c'est facile comme vous dite, mais dans une
liste multiselect il faut aller chercher a la main tous
les elements selectionnes et creer votre critere where a
la main pour obtenir
where monchamp= valeurselectionne1 And
monchamp=valeurselectionne2 And
monchmp=ValeurSelctionne3 ... pour tous les elements
selectionnes de la liste.

Si c'est a peu pres ça, il faut à chaque fois construire
votre requete par un code qui va calculer votre requete
pour interroger correctement ce que vous recherchez.

Bon courage.

EVA

-----Message d'origine-----
Bonjour à tous,

Toujours dans la construction d'un formulaire de
paramètre de requête, je

voudrais utiliser une "Zone de Liste" à
sélection "multiple" me permettant

de selectionner plusieurs enregistrements (ex : Pour
obtenir les Clients

d'un secteur, je désirre pouvoir sélectionner plusieurs
secteurs).

J'ai testé la zone de liste pour lancer ma requête, ça
fonctionne sur une

sélection si je ne précise pas "Multiple", je
laisse "aucun", mais dans ce

cas ça ne me sert pas, et ça ne fonctionne plus dès que
je sélectionne

Sélection Multiple "Simple" ou étendue".

Quelqu'un pourrait-il m'aider ?


Message à Raymond : Merci pour ta réponse sur la
sélection par case à cocher

(mon post d'hier) , ça fonctionne parfaitement

Patrice


.



Avatar
Lucien ROYERE
Réponse à une vieille question du mois de mai, mais ça ne fait rien ...
Voilà comment je pratique :
'le formulaire contient une quinzaine de champs pouvant servir à la
préparation du filtre
Private Sub BtnExtraction_Click()
Dim strWhere As String
If Testsaisie(DateNaissance) Then
strWhere = "[DT-NAIS]=" & "#" & Year(DateNaissance) & "-" &
Month(DateNaissance) & "-" & Day(DateNaissance) & "#" & " and "
End If
If Testsaisie(NomNaissance) Then
strWhere = strWhere & "[NomNaissance]" & " like '*" & NomNaissance & "*'" &
" and "
End If
If Testsaisie(NomMarital) Then
strWhere = strWhere & "[NomMarital ]" & " like '*" & NomMarital & "*'" & "
and "
<....>
'enlever la fin de la chaine
If Right(strWhere, 5) = " and " Then strWhere = Left(strWhere,
Len(strWhere) - 5)
DoCmd.OpenForm "f_Extraction", acFormDS, , strWhere
'ouverture du formulaire filtré sur la condition strWhere
la condition Where est construite au fur et à mesure, on peut même en mettre
une dizaine avec à chaque fois un and à la fin.
A la fin il faut éliminer le and en trop.
Testsaisie est simplement pour savoir si quelquechose existe dans le champ

Function Testsaisie(Quoi) As Boolean
Testsaisie = False
If IsNull(Quoi) Then Exit Function
If IsEmpty(Quoi) Then Exit Function
If Quoi = "" Then Exit Function
Testsaisie = True
End Function