Exploitation de la structuration : Rapport de sortie
Finalement, il est aussi possible d'exploiter la structuration par champs afin de produire des rapports sur mesure à partir des données d'une table, par exemple, ou des résultats d'une requête. Un parallèle peut être fait avec la possibilité de faire du publipostage dans un traitement de texte à partir de données dans un tableur. Les rapports de sortie dans une base de données reproduisent cette logique : les données présentes dans la base de données peuvent être injectées dans un modèle de rapport. La différence est que tout se fait dans le SGBD.
Rapports de sortie dans DB/TextWorks (modèle textuel)
DB/TextWorks permet de créer un ou plusieurs rapports de sortie pour une base de données. Ces rapports de sortie servent pour présenter les résultats d'une recherche. Tout comme pour les formulaires de saisie, c'est lors de la conception qu'il faut s'assurer de comprendre quels seront les besoins des utilisateurs et utilisatrices de la base de données au niveau des rapports de sortie. Souhaiteront-ils ou elles une présentation sous forme de tableau ou plutôt de texte? Quelles informations voudront-ils ou elles voir dans leurs rapports de sortie?
L'exemple ci-dessous illustre un rapport de sortie pour la base de données REPSCIE. Tant le choix des informations présentées que la manière de les présenter relèvent du concepteur ou de la conceptrice du rapport. Il est ainsi possible, comme c'est le cas ici :
De numéroter les pages du rapport
De donner un titre au rapport
D'insérer dans le rapport la requête de recherche effectuée
De décider de l'ordre de présentation des informations, de leur mise en forme ainsi que de la présence d'étiquettes qui précèdent les contenus
De la forme sous laquelle les occurrences multiples d'un champ sont présentées (avec un retour de ligne pour les auteurs et un point-virgule pour les descripteurs par exemple)
De préciser la date à laquelle le rapport est généré (ce qui est une bonne pratique à adopter!)
L'éditeur de rapport suit une logique similaire à celle de l'éditeur de formulaire. Il est possible de partir de zéro, comme on peut partir d'un rapport incluant l'ensemble des champs.
Comme il s'agit de rapports, on y retrouve en plus des notions d'entête et de pied de page et de rapport ainsi que des marges où l'on peut indiquer, par exemple, le numéro de page.
Chacune des boîtes que l'on ajoute dans le rapport peut être associée à plusieurs types d'éléments : des champs, des chaînes de caractères fixes, des variables. Dans l'exemple ci-dessous, on voit que pour la boîte sélectionnée, son contenu consiste à ce qui se trouve dans le champ NO suivi d'un tiret et suivi de ce qui se trouve dans le champ TI.
Rapports de sortie dans Base (modèle relationnel)
Base permet aussi la définition d'un ou plusieurs rapports de sortie pour présenter les résultats d'une requête ou le contenu d'une table. Tout comme pour les formulaires de saisie, du fait de la structuration plus complexe des informations, les rapports de sortie peuvent être plus complexes que ceux de DB/TextWorks.
L'exemple ci-dessous illustre un rapport de sortie pour la base de données Dépenses Papeterie. Remarquez dans l'entête de la fenêtre que le rapport de sortie est généré dans Writer. Ce rapport est basé sur une requête qui va extraire des données sur les dépenses ainsi que sur les personnes responsables associées à ces dépenses pour une certaine année. On retrouve les mêmes notions propres à un document mentionnées précédemment : un entête, des titres, une pagination, de la mise en forme.
Tout comme pour les formulaires, Base offre deux manières pour créer un rapport de sortie : (1) le mode Ébauche où vous partez d'un rapport vide et (2) l'Assistant Rapport qui offre une assistance pas à pas dans la construction d'un rapport. Il peut être intéressant d'exploiter l'Assistant Rapport pour faire un premier jet du rapport que l'on modifie par la suite. C'est ce qui a été fait dans l'exemple ci-dessous.
À la première étape, tous les champs de la requête paramétrée permettant d'extraire les dépenses pour une certaine année ont été sélectionnés.
Par la suite, des étiquettes plus significatives peuvent être proposées en lieu et place des noms des champs.
Il est possible de regrouper visuellement les données par rapport à un ou des champs dans un rapport. Il a été décidé de regrouper toutes les entrées pour une même date.
Comme un regroupement a été choisi, le champ de regroupement est défini par défaut comme première clé de tri. Il est possible d'ajouter d'autres clés de tri.
Base offre différentes possibilités pour la mise en page. Dans cet exemple, c'est une mise en page en tableau qui a été retenue.
Finalement, l'Assistant permet de nommer le rapport ainsi que de décider si on veut un rapport statique (généré une seule fois) ou un rapport dynamique (généré à la demande). Une fois ces choix effectués, il est possible de décider d'ouvrir le rapport en visualisation ou en modification pour continuer à le peaufiner.
Une fois un rapport de base généré à partir de l'Assistant, il est possible de l'ouvrir en édition pour l'améliorer. L'exemple ci-dessous illustre quelques modifications de base, notamment :
Ajout de l'en-tête et du pied de rapport
On peut retrouver deux niveaux d'en-tête et de pied dans un rapport : (1) au niveau de la page (répétition à chaque page) et (2) au niveau du rapport (une seule fois au tout début et à la toute fin).
Ajout d'une pagination
Redimensionnement des différentes zones pour éviter, d'une part, une perte d'espace et, d'autre part, aérer un peu le corps du rapport
Ajout d'une étiquette et de la date et de l'heure à la fin du rapport
Comme les rapports sont générés à partir de données changeantes dans le temps, indiquer la date et l'heure de la création d'un rapport est une bonne pratique à adopter.
Il est à noter que les modifications se font dans Base, directement dans le rapport, et non dans Writer où les rapports spécifiques sont générés.