QuickReport et Groupe [Résolu]

gebu34 119 Messages postés samedi 9 décembre 2006Date d'inscription 17 novembre 2009 Dernière intervention - 30 oct. 2007 à 20:28 - Dernière réponse : zerdouda 5 Messages postés vendredi 26 juin 2009Date d'inscription 25 août 2008 Dernière intervention
- 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+
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 9 nov. 2007 à 18:49
3
Merci
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

Merci cs_cantador 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_cantador
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 30 oct. 2007 à 21:17
0
Merci
"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
Commenter la réponse de cs_cantador
gebu34 119 Messages postés samedi 9 décembre 2006Date d'inscription 17 novembre 2009 Dernière intervention - 31 oct. 2007 à 05:50
0
Merci
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+
Commenter la réponse de gebu34
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 31 oct. 2007 à 19:42
0
Merci
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
Commenter la réponse de cs_cantador
gebu34 119 Messages postés samedi 9 décembre 2006Date d'inscription 17 novembre 2009 Dernière intervention - 1 nov. 2007 à 06:40
0
Merci
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+
Commenter la réponse de gebu34
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 1 nov. 2007 à 10:59
0
Merci
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
Commenter la réponse de cs_cantador
gebu34 119 Messages postés samedi 9 décembre 2006Date d'inscription 17 novembre 2009 Dernière intervention - 6 nov. 2007 à 23:18
0
Merci
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
Commenter la réponse de gebu34
zerdouda 5 Messages postés vendredi 26 juin 2009Date d'inscription 25 août 2008 Dernière intervention - 14 août 2008 à 23:31
0
Merci
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?
Commenter la réponse de zerdouda

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.