Bonjour.
par contre je sais aller le mettre dans la fenêtre propriétés d'une zone de texte indépendante que je pourrai créer dans mon état.
C'est bien mais ce n'est pas ce qu'il faut faire.
Il faut aller modifier la source du rapport.
si c'est une table, il faut créer une requête.
Y mettre un champ calculé qui va te donner la liste.
Afficher ce champ calculé dans le rapport (comme n'importe quel autre champ)
Pour le calcul, c'est assez simple.
Il te faut créer un module ou utiliser un module existant.
Le code ressemble à cela (à adapter à ta réalité) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public function Concatener(prmCritereSelCommune as variant) as string
dim result as string
dim db as dao.database: set db=currentdb
dim rData as dao.recordset: set rData=db.openrecordset("NomTaSourceDonnees", dbOpenSnapshot) 'Accède à ce qui va donner la liste des communes concernées
dim rCommune as dao.recordset: set rCommune=db.openRecordset("reqCommune", dbOpenSnapshot) 'Àccède à la liste des communes.
dim critere as string : critere="[NumINSEE]=" & rdata![NumINSEE] 'Suppose le critère numérique et sur un seul champ.
call rData.FindFirst(critere) do while not rData.eof
'Tant qu'il y a des communes
call rCommune.findfirst("[NumINSEE]=" & rdata![NumINSEE]) 'Cherche le numéro de la commune dans la liste des communes.
if result<>"" then
result=result & "; " 'Ajoute le séparateur
end if
result=resullt & rCommune ![Nom] & " (" & rCommune![NumINSEE] & ")"
call rFindNext(critere) 'prochaine commune
loop
rCommune.close: set rCommune=nothing 'ferme après usage
rData.Close: set rData=nothing
db.close: set db=nothing
Concatener=result 'retourne le texte concaténé
end function |
dans ta requête source tu mets dans une colonne :
ListeCommune:Concatener([CritereSelCommune])
A+
Partager