Description

Permet d'imprimer des données à partir d'une base de données.


Leparamétrage du bouton Rapport est presque le même que celui du bouton Rechercher, car en fait, les deux actions recherchent la base de données puis affichent le résultat de la recherche, ce n'est que dans notre cas que nous verrons le résultat de la recherche lors de l'impression. Après avoir configuré le bouton, vous devez appeler le concepteur de rapports pour créer un modèle, qui déterminera exactement à quoi ressemblera le document une fois imprimé, mais tout dans l'ordre.



A titre d'exemple, nous implémenterons l'impression des paiements du client. Cela ressemblera à l'image ci-dessous:




Ce type de rapport est également appelé Master-Detail. Dans notre exemple, les informations sur le client sont Master (enregistrement parent) et la liste des paiements de ce client est Detail (enregistrements enfants).


Voici la structure de la base de données, qui est utilisée pour cet exemple:




Sélectionnez l'action "Report" pour ce bouton, le paramétrage de ce bouton est indiqué dans la figure ci-dessous:



Examinons ce paramétrage en détail et par étapes:


  1. Sélectionnez les composants impliqués dans la recherche

Le composant GridClients est sélectionné ici, où nous voyons tous nos clients, donc seul le client qui a été sélectionné dans le composant GridClients sera orésent dans le rapport. S'il n'y a aucun composant dans cette liste, le rapport recevra toutes les données de la table de base de données sélectionnée.



  1. Sélectionnez la table utilisée pour la requête

Nous imprimerons des informations sur le client, nous sélectionnerons donc la table "clients".



  1. Le résultat

Sélectionnons les champs de la table nécessaires dans le rapport.



  1. Sélectionnez le fichier de rapport

Le modèle de rapport n'ayant pas encore été créé, ce paramètre doit sélectionner "Ouvrir le concepteur de rapports ...". (Options -> Report Designer)

Un modèle de rapport est un fichier qui définit exactement à quoi ressemblera le rapport, ce fichier sera créé dans le concepteur de rapports et sera enregistré dans le dossier Rapport de votre projet.




Une nuance à noter ici. Comme vous pouvez le voir dans les paramètres de la page 2, pour générer le résultat, nous sélectionnons des champs dans 3 tables différentes (clients, catégorie, paiements). En règle générale, dans d'autres programmes, vous devez écrire une requête SQL, qui spécifie manuellement une table, des liens vers une autre table et dans quel ordre.


Le programme My Visual Database essaie de comprendre par lui-même comment les tables doivent être liées les unes aux autres afin d'obtenir exactement les données que vous attendez, vous évitant ainsi de devoir apprendre le langage de requête SQL.


Malheureusement, il n'est pas toujours possible pour le programme de prédire comment les tables doivent être liées afin d'obtenir les données que vous souhaitez voir. Une telle situation peut se produire lorsque vous devez lier 3 tables ou plus et s'il n'y a pas de liens évidents entre elles.


Que faire alors ? Dans l'onglet "Tables de la base de données", sous chaque table, il y a une case à cocher "La table est un dictionnaire". Dans cet onglet, vous devez noter quelles tables de votre projet sont des dictionnaires. Mais comment comprendre quelles tables sont des dictionnaires?


Des exemples de tables dictionnaires sont la table contenant les noms de pays, les statuts (ouvert, fermé), les types (entité juridique, entité physique), le nom avec les prix, etc..


Autrement dit, de telles tables, qui, en règle générale, sont remplies dès le début du projet ne sont pas éditées ou seront éditées rarement à l'avenir.


Dans ce cas, la table dictionnaire peut être référencée par la «catégorie» (catégorie client), pour cette table, vous devez cocher la case «La table est un dictionnaire» située sous le nom de ces tables, vous aiderez ainsi le programme à lier correctement les tables .




Pour créer un modèle de rapport, vous devez exécuter le projet

Dans le projet lancé, cliquez sur ce bouton avec l'action Report pour ouvrir le concepteur de rapports (Options ->Report Designer).


Ce rapport sera un peu plus compliqué que le précédent, car il utilisera des blocs (ou Band). Les blocs vous permettent de créer presque n'importe quelle structure de rapport. Nous allons maintenant nous familiariser avec certains d'entre eux.


Pour voir tous les blocs disponibles, cliquez sur l'icône de gauche , vous verrez alors un menu comme indiqué dans la figure ci-dessous









Commençons par créer un rapport à l'aide de blocs et découvrons à quoi ils servent.


Dans le menu illustré dans la figure ci-dessus, sélectionnez le bloc Titre du rapport et ce bloc apparaîtra dans le rapport. Les informations de ce bloc ne seront imprimées que sur la première page de votre rapport. 


Placez le logo et les informations sur l'entreprise dans ce bloc. En conséquence, vous devriez réussir comme le montre la figure ci-dessous:


Vous pouvez ignorer ce bloc si vous n'avez pas besoin d'un titre pour votre rapport.





Place the next Page Header block. The information placed in this block will be displayed on each printed page (in case your report does not fit on one page). 


In this block we will place the information about the client. We will also place the headers for the table which will be located in the next block. 

Place the text and data fields in this block as shown in the picture below:



Vous pouvez ignorer ce bloc si vous n'avez pas besoin d'un titre pour votre rapport.



Le bloc suivant à placer dans le rapport est Master Data


Ce bloc est conçu pour générer des informations sous la forme d'un tableau. Avec l'aide de ce bloc, nous obtiendrons un tableau où nous verrons tous les paiements de ce client.


Placez ce bloc dans le rapport en le sélectionnant depuis le menu. Avant qu'il n'apparaisse dans le rapport, vous verrez une fenêtre avec le titre Select DataSet, depuis laquelle vous devez sélectionner la source des données. Sélectionnez une source de données dans la liste avec le titre Rapport et cliquez sur OK.


Dans ce bloc, placez les champs de la base de données dont vous avez besoin dans la table. En conséquence, vous verrez, comme le montre la figure ci-dessous:


Faites attention au [Report. "payments.money"], qui affiche le prix du paiement. Appliquons un formatage monétaire à ce champ, c'est-à-dire ajoutons un séparateur de milliers et deux décimales obligatoires. Pour ce faire, faites un clic droit sur ce champ et sélectionnez "Format d'affichage ..." depuis le menu.


Choisissez la valeur Nombre dans la liste Catégorie et 1 234,50 dans la liste Format, puis cliquez sur OK.






Placez le bloc de pied de page suivant. Ce bloc s'imprimera une fois à la fin du rapport, c'est-à-dire que vous ne le verrez pas sur chaque page de votre rapport.

Dans ce bloc, vous pouvez calculer, par exemple, le montant total de tous les paiements du client.


Pour calculer le montant total, placez le composant  System text dans ce bloc. Une fois que vous avez placé ce composant, une boîte de dialogue apparaît afin de le configurer comme indiqué dans la figure ci-dessous:




Après cela, votre modèle de rapport doit ressembler à celui illustré ci-dessous:



Vous pouvez également appliquer une mise en forme monétaire à ce champ, comme décrit à l'étape précédente.





Enfin, le dernier bloc que nous placerons dans le rapport est le pied de page, ce bloc sera imprimé sur chaque page du rapport, nous l'utilisons pour numéroter les pages.


Placez la variable système Page#   depuis le bloc du côté droit du concepteur de rapports (onglet Variables), faites simplement un glisser/déposer :




Votre modèle de rapport est maintenant prêt




Accédez au menu Fichier> Aperçu ou appuyez simplement sur Ctrl + P pour voir à quoi ressemblera votre rapport.


Enregistrez le modèle de rapport dans le dossier Report de votre projet, menu Fichier> Enregistrer sous ... Donnez au fichier un nom tel que "paiements clients" comme indiqué dans la figure ci-dessous:




Il reste à revenir aux paramétrages de ce bouton et à sélectionner ce modèle de rapport à utiliser pour l'impression:





Et c'est parti. Vous pouvez maintenant redémarrer le projet. Après avoir sélectionné le client souhaité dans le composant GridClients, cliquez sur ce bouton et vous verrez un rapport imprimable comportant les données duclient sélectionnée  et la liste de ses paiements.



Il est parfois pratique de placer ce bouton pour imprimer directement depuis le formulaire d'ajout / d'édition d'un enregistrement. Dans ce cas, laissez la liste vide dans les paramètres du bouton "1. Sélectionnez les composants impliqués dans la recherche". Si le bouton avec l'action "Report" est placé sur le formulaire destiné à ajouter / éditer un enregistrement, il reconnaît automatiquement celui qui doit être envoyé à l'impression.


La documentation sur l'utilisation du concepteur de rapports est disponible ici :  https://www.fast-report.com/public_download/UserManual-en.pdf