• Aucun résultat trouvé

Exercice pratique Introduction à SQL

Exercice 1 Soit la BD suivante.

9. Les rapports (angl reports)

9.1 Définition

Avec les formulaires, nous avons introduit un outil puissant pour consulter et manipuler les données d'une BD. Il est également possible d'imprimer les formulaires, mais les SGBD nous offrent un outil beaucoup plus puissant en termes de fonctionnalités pour imprimer les données et effectuer des calculs sur ces données. Il s'agit des rapports (ou états) (angl. reports), qui ont l'avantage d'être très flexibles en ce qui concerne la création de listes et de statistiques imprimées, mais qui ne permettent pas de dialogue interactif avec l'utilisateur. L'important pour l'utilisateur d'une BD est donc de savoir quand il faut utiliser un formulaire et quand un rapport.

En général, on utilise un rapport pour:

• Imprimer des listes et statistiques concernant les données; • Regrouper les données et créer des calculs sur les données;

• Créer des factures, bons de livraisons et autres pièces de gestion importantes.

Exemple 1:

Le rapport suivant affiche simplement une liste avec tous les livres en stock. Cette liste est triée par ordre alphabétique sur le titre.

Exemple 2:

Un SGBD nous offre généralement la possibilité de regrouper les données. Chaque groupe est défini selon les valeurs d'un ou de plusieurs champs. Un groupe contient normalement 3 parties; une en-tête de groupe, une section détail et un pied de groupe. Dans notre exemple, nous allons créer des groupes basés sur la valeur du champ fldGenre, donc un groupe par genre. Pour chaque groupe, donc pour chaque genre, nous allons afficher les libellés des champs dans l'en-tête du groupe et les livres appartenant au groupe dans la section détail. A la fin de chaque groupe (dans le pied de groupe) sera affiché en plus, le total des exemplaires en stock pour ce groupe.

En-tête Détail Pied

Exemple 3:

Dans ce rapport, les livres sont groupés par genre et à l'intérieur d'un genre par langue. Chaque groupe est donc défini par le genre et la langue.

Exemple 4:

On pourrait envisager de représenter le même groupement (genre & langue) d'une autre façon.

Quelle est la base de création d'un rapport ?

• Tout comme les tables, les requêtes et les formulaires, un rapport est un composant d'une BD, qui doit être créé et défini avant de pouvoir être utilisé pour afficher les données et les calculs sur les données.

• Chaque rapport se crée à partir d'une table ou d'une requête.

Chaque rapport est composé de contrôles. Puisque les rapports ne sont pas prévus pour le dialogue interactif avec l'utilisateur, ils contiennent dans la plupart des cas seulement 3 types de contrôles:

Nom du contrôle Description Exemple

Zone de texte

(angl. Text Box)

Affiche les données de la BD, ainsi que les résultats de calculs sur ces données. Les zones de textes constituent les contrôles les plus importants et les plus utilisés dans les rapports.

Etiquette

(angl. Label)

Affiche du texte fixe.

Contrôles graphiques

(angl. Graphical Controls)

Ces contrôles, dont le seul but est l'amélioration de la présentation des rapports peuvent être de types différents, comme par exemple des lignes , des éléments graphiques élémentaires tels que carrés ou rectangles, mais également des images importées.

Néanmoins, beaucoup de SGBD prévoient également l'utilisation d'autres contrôles, comme par exemple les boutons d'options ou les cases à cocher.

Convention des noms:

Structure d'un rapport

Chaque rapport est subdivisé en différentes parties, appelés sections. Un rapport peut contenir les sections suivantes:

• En-tête/Pied de rapport

L'en-tête de rapport apparaît une seule fois au début de la première page, et le pied de rapport apparaît une seule fois à la fin de la dernière page. L'en-tête de rapport est souvent utilisé pour afficher des logos ou la date actuelle. Le pied de rapport contient souvent des grand totaux.

• En-tête/Pied de page

Contient du texte, qui sera affiché/imprimé à chaque nouvelle page du rapport. L'en-tête de page contient généralement les noms des champs affichés dans la section détail. Le pied de page est souvent utilisé pour afficher le numéro de page.

• En-tête/Pied de groupe

Dans un rapport on peut faire un regroupement d'enregistrements selon les valeurs d'un ou de plusieurs champs spécifiés (p.ex. Regrouper une liste de voitures par marque). Chaque groupe défini peut disposer d'un en-tête et d'un pied de groupe. L'en-tête de groupe affiche par exemple une ou plusieurs zones de texte indiquant le contenu du groupe (p.ex. Nom de la marque), ou les étiquettes de la section détail. Le pied de groupe contient des calculs (p.ex. sous totaux, moyennes) pour ce groupe. Entre l'en-tête de groupe et le pied de groupe se trouve la section détail, avec tous les enregistrements faisant partie du groupe.

• Section Détail

Cette section est la plus importante. Elle contient la plupart des zones de texte et affiche les données et les calculs pour chaque enregistrement. Il existe toujours une seule zone détail, indépendant du fait qu'il y a des groupes ou non.

9.2 Création d'un rapport

Voici quelques points de réflexion avant la création d'un rapport:

• Quelles données est-ce qu'on veut représenter ? (Dressez la liste des champs)

• Quelles informations supplémentaires sont utiles (p.ex. groupements, sous totaux, moyennes, pourcentages)