QuickReport et Groupe

Résolu
gebu34
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009
- 30 oct. 2007 à 20:28
zerdouda
Messages postés
5
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
25 août 2008
- 14 août 2008 à 23:31
Bonjour à tous,
Je vais essayer de faire bref. J'ai un base ACCESS avec deux tables.
Une avec index (1 à n) et nom des départements.
Une avec Nom, prénom et index du département.
Je veux lister par département le nom et le prénom.
Utilisation des compos ADO et requête SQL pour le rapport.
(évidemment tout les composants sont connectés sur ADO)
J'ai tout essayé sur le QuickReport......
Mettre un QRgroup avec une BandDétail....
Un QRgroup avec un SubDetail....
Deux SubDetail.....
J'arrive toujours au même résultat : impression du premier département
avec nom et prénom, et après rien.....
C'est dommage que la doc sur QuickReport soit très pauvre....
(j'utilise QR 4.07)
Merci d'avance
A+

8 réponses

cs_cantador
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
9 nov. 2007 à 18:49
Je t'ai donné la solution..
la relation Maître/détail se fait dans le SQL en passant
le code de liaison en paramètre.

Cherche un peu et tu trouveras plein d'exemples sur le sujet.

cantador
3
cs_cantador
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
30 oct. 2007 à 21:17
"et après rien....."

Tu n'es pas assez précis..
d'abord quelle est la présentation que tu souhaites avoir pour tes données ?
et puis conseil change de Report car QuickReport ç'est un peu trop vieux..

Enfin jette un oeil sur les exemples fournis par Borland.

cantador
0
gebu34
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009

31 oct. 2007 à 05:50
Salut,
Au niveau présentation, c'est juste un exemple, pour comprendre le mécanisme.
Département 1
    Nom1
    Nom2
    Nom3
Département 2
    Nom1
    Nom2
    Nom3
...............
La table principale est celle avec les noms, que je classe par département (index) et qui est liée à la table Département pour récupérer le nom de celui-ci.
Dans mons cas, je ne boucle pas, je m'arrête à Département 1 avec la liste des noms correspondants à celui-ci.
Je suis en Delphi 7....les exemples fournis par Borland sont assez rares pour QuickReport. (Par QSoft aussi, d'ailleurs)
J'ai essayé Rave, mais il ne me plait pas (c'est une affaire de goût, je ne dis pas qu'il est mauvais...)
Pourquoi QuickReport, parceque je viens de Delphi 3, puis 5, et qu'il était en natif dans ces versions.
Merci
A+
0
cs_cantador
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
31 oct. 2007 à 19:42
Effectivement, je l'ai utilisé aussi dans les premières version de delphi mais ça fait maintenant un bail que je l'ai troqué contre ReportBuilderPro.


Pour ton problème, il s'agit d'une simple relation 1-N.
Cest-à-dire que tu as besoin juste d'un détail en liaison avec le père.


Il faut néamoins qd même vérifier déjà si ta relation fonctionne en plaçant deux grids et il ya un exemple Master/détail dans Borland/demo.

bon courage

cantador
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gebu34
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009

1 nov. 2007 à 06:40
Je crois avoir trouvé.....
J'utilise les composants ADO notamment ADOQuery (obligé puisque je passe une requête SQL) mais ce composant ne propose pas de MasterField et MasterSource pour effectuer la relation maître-détail...Le ADOTable le propose, mais n'accepte pas les requêtes SQL...J'ai la nette impression d'être dans l'impasse....
Pour info j'utilise les composants ADO, car ils permettent de gérer une base ACCESS en local.
Toutes les idées sont les bienvenues....
A+
0
cs_cantador
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
1 nov. 2007 à 10:59
prend le query et passe le code de liaison en paramètre :
ex :

Select * from historiq where nom_prenom = :NOMPRENOM

Order by Date_Emp DESC

autre astuce pour l'écrire car le SQL access n'est pas tout à fait aux normes internationales..
Ouvre access utilises l'assisant requête, place tes deux tables, mets ta jointure etc..
execute et qd çà marche, clique "mode SQL" et tu as aussitôt le script SQL tout fait à l'écran (et à la mode Access)
que tu n'as plus qu'à recopier dans ton query !

cantador
0
gebu34
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009

6 nov. 2007 à 23:18
Après un petit passage par la case "congé", je reprends le collier.
Je suis tout à fait d'accord que le SQL d'ACCESS a quelques dérives....
Mon problème est de pouvoir déclarer un "Maître/Détail" sur un ADOQuery....J'ai beau chercher dans les expressions SQL, je ne vois rien d'évident...Le fait de faire un INNER JOIN ou LEFT JOIN n'explicite pas qu'un champs est "Maître"....
Le seul élément qui admette un MasterSource et un MasterDétail est ADOTable, mais dans ce cas on ne peut pas obtenir un ensemble de données issus de plusieurs tables définis par une requête SQL...
A+ et merci
0
zerdouda
Messages postés
5
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
25 août 2008

14 août 2008 à 23:31
salut, j'ai une fonction qui calcule une sequence illmitte de nombres,et je peut afficher ce sequence ds un quickreport, on donne par exemple la sequence de debut et la sequence de fin et on trouve le tableau concerner. comment ça?
0