Bonjour à tous,

je cherche à rendre plus clair un code que j'ai rélisé mais qui devient difficile à maintenir compte tenu du nombre de chkbox qui me permettent de contruire ma requête sql.

J'ai deux catégories de chkbox, l'une préfixée chk_rg, l'autre chk_st.
Les premières servent à sélectionnés mes champs en select et group by, les secondes servent à réaliser des statistiques, sont donc en select et sont des champs calculés.
Chacun de ces champs est donc une formule de calcul qui lui est propre.

Le code que je cherche à réaliser est (plus qu') inspiré d'une FAQ access prise sur le site et donne quelques chose comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
Dim ctl as control
Dim nbChoixRgpt as integer
 
for each ctl in Me.controls
 
select case left (ctl.name,6)
 
case "chk_rg"
 
if ctl.name.value =1 then
nbChoixRgpt = nbChoirRgpt +1
 
if nbChoixRgpt > 1 then
strChamps = StrChamps & ", "
strGroup = strGroup & ", "
End if
 
strchamps = strChamps & "Formule propre à mon ctl.name"
strGroup = strGroup & "Autre formule propre à mon même ctl.name"
End if
 
Case "chk_st"
traitement approximativement similaire
 
End Select
 
Next ctl
Je viens de taper ceci à main levée et n'ai encore rien testé sous access mais déjà deux questions me posent problème :

Est-ce que je peux programmer un ctl.name.value ?
Comment faire en sorte de paramétrer et récupérer des formules propres à chacun de mes chkbox ?

Si quelqu'un pouvait me donner la main...

Merci par avance

TF