OVH Cloud OVH Cloud

UTILISATION DE LISTE POUR CRITERE DE RECHERCHE DANS FORMULAIRE

13 réponses
Avatar
Marc
Bonjour

J'essayes de batir un formulaire avec 6 listes qui me servent a définir les
enr dans un formulaire suite a une recharche et de l'aide de R.SENEQUE j'ai
trouvé ce code que je duplique autant de fois que j'ai de listes si j'ai
tout compris....

petit soucis parfois le code bloque ici : For Each varItm1 In
Ctl1.ItemsSelected en me mettant "bloc sans with" ???! aie pb & de plus pour
ne pas obliger les personnes quant elle veuelnt tous les enr d'une liste
j'ai mis "*" dans chaque liste en début et la ça marche pas pour aide la
requete ressemble a cela :

SELECT RESULTAT PAR AXES.* FROM [RESULTAT PAR AXES] WHERE
(((CompareList([Rubrique]))=True) AND ((CompareList1([AXES]))=True));

avec une liste contenant des rubriques & l'autre des axes et un bouton MAJ
avec le code suivant :

If (Not PrepareList(Me.Name, Me.Liste1.Name)) Or (Not
PrepareList1(Me.Name, Me.Liste2.Name)) Then
MsgBox "impossible de lancer la requête"
Else
Me.DONNEES.Requery

End If




Option Compare Database
Option Explicit

Dim Frm As Form
Dim Ctl As Control
Dim varItm As Variant
Dim Frm1 As Form
Dim Ctl1 As Control
Dim varItm1 As Variant

Public Function PrepareList(FormName As String, _
ControlName As String) As Boolean
On Error GoTo Err_PrepareList
Set Frm = Forms(FormName)
Set Ctl = Frm(ControlName)
If Ctl.ItemsSelected.Count = 0 Then GoTo Err_PrepareList
PrepareList = True
Exit Function
Err_PrepareList:
PrepareList = False
End Function

Public Function CompareList(ParameterValue As Variant) As Boolean
For Each varItm In Ctl.ItemsSelected
If CStr(ParameterValue) = Ctl.ItemData(varItm) Then
CompareList = True
Exit Function
End If
Next varItm
CompareList = False
End Function

******** DUPLICATION*********

Public Function PrepareList1(FormName As String, _
ControlName As String) As Boolean
On Error GoTo Err_PrepareList1
Set Frm1 = Forms(FormName)
Set Ctl1 = Frm(ControlName)
If Ctl1.ItemsSelected.Count = 0 Then GoTo Err_PrepareList1
PrepareList1 = True
Exit Function
Err_PrepareList1:
PrepareList1 = False
End Function

Public Function CompareList1(ParameterValue1 As Variant) As Boolean
For Each varItm1 In Ctl1.ItemsSelected
If CStr(ParameterValue1) = Ctl1.ItemData(varItm1) Then
CompareList1 = True
Exit Function
End If
Next varItm1
CompareList1 = False
End Function

je recapitule pourquoi svp ça bloque et mets "bloc sans with" ?! et comme
lui faire comprendre dans ma liste que "*" et comme tous , en mettant ceci
dans la requete "comme comparelist([rubrique])" ?

Merci bcp Marc & bonne journée

3 réponses

1 2
Avatar
3stone
Salut,

"Marc"
| ça parait simple en image :)
|
| http://www.cijoint.fr/cij41633208128346.jpg


Je prends le train en marche... mais vu que tu hurle dans l'objet ;-)

Etant la quantité de listes, autant créer un simple filtrage du
formulaire et d'inspirer ici :
http://www.3stone.be/access/articles.php?lng=fr&pgC

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Marc
Bonjour Pierre

nan je n'hurles pas juste des pleurs :))
mais dis moi ce systeme auquel j'ai pensé ne prends en compte qu'une valeur
par liste non ?

Marc

"3stone" a écrit dans le message de news:

Salut,

"Marc"
| ça parait simple en image :)
|
| http://www.cijoint.fr/cij41633208128346.jpg


Je prends le train en marche... mais vu que tu hurle dans l'objet ;-)

Etant la quantité de listes, autant créer un simple filtrage du
formulaire et d'inspirer ici :
http://www.3stone.be/access/articles.php?lng=fr&pgC

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Avatar
3stone
Salut,

"Marc"
| nan je n'hurles pas juste des pleurs :))

En majuscules, on HURLE ;-)

| mais dis moi ce systeme auquel j'ai pensé ne prends en compte qu'une valeur
| par liste non ?

Vu que l'exemple est donné pour une combobox (liste déroulante) on prend
bien une valeur. Pour des listbox (zone de liste) à sélection multiple, il faut
boucler sur les valeurs sélectionnées.

Voir ceci :
http://www.mvps.org/accessfr/forms/frm0007.htm

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
1 2