Bonjour, ou plutôt re après notre échange de mail privé.
On ne peut pas dire que vous avez été beaucoup plus explicite, ni que vous faites votre demande sur le bon forum. (il y a un forum dédié pour quickreport ici)
Peu explicite tout d'abord parce qu'il y a une ambiguité : rbDetail à plutôt une connotation RaveReport pour quickreport il s'agit de QRBand.
Ensuite parce que dans mon MP privé je vous avais indiqué que fournir des renseignements comme le SGBD (pitié pas Access), la description des tables (des colonnes) impliquées serait nécessaires. Pourquoi ? Je m'en explique, on a tendance à oublier qu'un état se produit à partir de données et que modifier la source peut-être une solution
par exemple : utiliser un SQL et faire de votre état maitre détail un état simple
SELECT D.MESCOLONNESDETAIL,M.MACOLONNEMAITRE FROM DETAIL D JOIN MAITRE M ON M.ID=D.IDMAITRE
vous voyez comme c'est pénible les généralités ?
Bon cela écrit, si la solution une seule query est établie il reste que mettre une seule valeur maitre au "centre" des lignes détails demande l'obtention du nombre de lignes détails avant
Si le SGBD le permet, une CTE à ajouter
1 2 3
| WITH N AS (SELECT IDMAITRE,COUNT(1)/2 L FROM DETAIL GROUP BY IDMAITRE)
SELECT D.IDMAITRE,D.MESCOLONNESDETAIL,M.MACOLONNEMAITRE,N.L FROM DETAIL D JOIN MAITRE M ON M.ID=D.IDMAITRE
JOIN N ON D.IDMAITRE=N.IDMAITRE |
Là on a les éléments nécessaires pour réaliser votre objectif.
Il ne reste plus qu'à :
- ajouter une bande QRGroup (sur D.IDMAITRE),
- incrémenter un compteur dans l'évènement afterprint de la ligne détail,
- compteur qui sera réinitialisé par le AfterPrint du QRGroup
- et, enfin utiliser le BeforePrint de la bande détail ou de l'élément "Détail1" pour rendre visible ou invisible le libellé et les lignes associées
oui, c'est
les généralités
Partager