Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Crystal Reports 2016
  3. Sous
Extrait - Crystal Reports 2016 Créez des états de gestion à partir de vos bases de données
Extraits du livre
Crystal Reports 2016 Créez des états de gestion à partir de vos bases de données Revenir à la page d'achat du livre

Sous-rapports

Introduction

Il est quelquefois impossible de construire un rapport unique correspondant à vos besoins, comme dans les cas suivants :

  • Commandes du mois classées par client, avec le résumé des cinq plus grosses commandes du mois.

  • Rapport annuel de la société présentant sur une même page les encours clients et fournisseurs, les salaires par catégorie d’employés et les ventes par région, avec le total général de chaque tableau en pied de page du rapport.

  • Ventes regroupées par région, avec les encours des clients par région dans le pied de page du groupe.

  • Rapport créé à partir d’une base de données sur PC sans champs indexés.

  • Rapport créé à partir de plusieurs bases de données sans lien entre elles.

Dans tous ces cas, on ne peut créer un rapport selon la méthode habituelle de Crystal Reports, soit parce qu’il est impossible de publier dans un même rapport des données calculées en même temps, soit parce que les différentes sources de données ne peuvent être mises en relation pour générer le rapport.

La solution apportée par Crystal Reports 2016 consiste à intégrer un sous-rapport dans le rapport principal. Un sous-rapport est un autre rapport publié en même temps et à...

Sous-rapports indépendants

Ce sont les plus simples à construire. Le sous-rapport a ses propres caractéristiques, totalement indépendantes de celles du rapport principal.

Vous créerez successivement le rapport principal et le sous-rapport comme deux rapports indépendants l’un de l’autre, puis vous insérerez le sous-rapport dans le rapport principal.

1. Création du rapport principal

 Créez un nouveau rapport selon les instructions ci-dessous et sauvegardez-le immédiatement en Chap 8-1.rpt. Ce sera votre rapport principal.

Table

Clients

Champs

Nom du client

Ville

Ventes de l’année dernière  

Regroupé par

Pays

images/08ri01n.png

2. Création du sous-rapport

 Créez maintenant un second rapport selon les instructions ci-dessous, que vous sauvegardez comme Chap 8-2.rpt :

Table

Fournisseurs

Champs

Pays

Ville

Nom du fournisseur  

Tri des enregistrements  

Pays

Nom

images/08ri01bisn.png

3. Insertion du sous-rapport

 Sélectionnez le rapport Chap 8-1.rpt et affichez l’écran de Conception.

 Cliquez sur Insérer - Sous-rapport pour ouvrir la boîte de dialogue ci-dessous :

images/08ri02n.png

 Sélectionnez l’option Choisir un rapport et sélectionnez le rapport Chap 8-2.rpt.

 Cliquez sur OK pour valider et insérer le sous-rapport.

 Placez le cadre du sous-rapport dans le Pied de page de rapport...

Sous-rapports liés

Comment afficher dans un même rapport plusieurs enregistrements d’une base de données après d’autres enregistrements provenant d’une base de données différente ? Par exemple, les ventes par pays et les encours de crédit-client par pays.

1. Création du rapport principal

 Créez le rapport Chap 8-4.rpt suivant :

Table

Clients

Champs

Nom du client

Ville

Ventes de l’année dernière

Groupes et Tri

Pays

Filtre

Pays = Allemagne, Belgique, France, Italie, Luxembourg, Pays-Bas

2. Création et insertion du sous-rapport

 Créez ensuite le sous-rapport Chap 8-5.rpt :

Tables

Clients

Crédit

Champs

Clients.Nom du client

Crédit.Numéro d’autorisation de crédit

Crédit.Montant

Liens entre les tables

Clients.ID client -> Crédits.ID crédit client

Remplacez le lien entre les tables créé par Crystal Reports comme indiqué ci-dessus, car dans la base de données Xtreme.mdb en français, le champ Clients.ID crédit client est vide.

 Insérez le sous-rapport comme exposé plus haut.

 Cliquez sur l’onglet Mise en relation de la boîte de dialogue.

images/08ri08n.png

 Sélectionnez le champ Clients.Pays à partir duquel vous allez lier les deux états ; les champs du cadre inférieur sont automatiquement renseignés.

Crystal Reports 2016 utilise un champ de paramètre pour passer le lien du rapport principal au sous-rapport.

Dans la plupart des cas, les données dans le sous-rapport seront affichées en fonction du champ qui lie les deux états.

 Cliquez sur le bouton OK pour valider, et placez le sous-rapport dans la section Pied de page de groupe du rapport principal.

Le rapport suivant s’affiche dans l’écran...

Sous-rapports à la demande

Par défaut, les sous-rapports sont calculés et affichés aussitôt que Crystal Reports les trouve dans le rapport principal.

Si vous avez placé un sous-rapport dans un pied de page - ou un en-tête - de groupe, cela signifie que Crystal Reports sollicitera (accédera à) la base de données à chaque occurrence du sous-rappport, qui sera calculé et affiché chaque fois que Crystal Reports passera d’un groupe à l’autre, ce qui peut grandement ralentir la production de vos rapports.

D’autre part, si le sous-rapport ne contient pas de données pour chaque groupe, cela peut aussi nuire à l’esthétique de votre travail.

1. Création d’un sous-rapport à la demande

 Pour éviter cette situation, sélectionnez l’option Sous-rapport à la demande lors de la construction du sous-rapport ou dans l’onglet Sous-rapport de la boîte de dialogue Editeur de mise en forme, puis validez en cliquant sur OK.

images/08ri13n.png

Le sous-rapport apparaît maintenant sous la forme d’un lien hypertexte dans les écrans du rapport principal ; Crystal Reports n’accède à la base de données et le sous-rapport n’est calculé que lorsque l’utilisateur clique sur ce lien hypertexte.

images/08ri14n.png

Le lien hypertexte s’affichant pour chaque occurrence du sous-rapport...

Transfert de données entre le rapport principal et les sous-rapports

Les variables mémoire partagées (shared) permettent d’utiliser des données entre les différents rapports de l’ensemble constitué du rapport principal et de ses sous-rapports ; les données peuvent en effet être transférées du rapport principal à un sous-rapport, d’un sous-rapport au rapport principal, ou d’un sous-rapport à l’autre.

Reportez-vous au chapitre Formules pour obtenir des explications détaillées sur l’utilisation des variables mémoire dans les formules.

 Créez le rapport suivant, que vous enregistrerez comme Chap 8-8.rpt.

Table

Clients

Champs

Nom du client

Prénom du contact

Nom du contact

Ville

Ventes de l’année dernière  

Groupes et Tri  

Pays

Filtre

Pays = Canada

 Créez le champ de formule Contact commercial pour concaténer les deux champs Clients.Prénom du contact et Clients.Nom du contact :

{Customer.Prénom du contact} + " " + {Customer.Nom du contact} 

Le début de votre rapport doit se présenter comme ci-dessous :

images/08ri16n.png

 Créez maintenant le second rapport, que vous enregistrerez comme Chap 8-9.rpt :

Table

Champs

Clients

Nom du client

Région

Crédit

Numéro d’autorisation de crédit  

Montant

Groupes et Tri  

Nom du client

 Cliquez sur Rapport - Expert Section, puis masquez les deux sections En-tête de groupe n° 1 : Clients.Nom du client et Détails.

 Créez les deux champs de formule...