Retour au menu  

Séance groupe II n° 20 du  21/05/2012
La suite LibreOffice : la base de données (2)
I Préambule
Nous avons vu les principes généraux de la base de données : construction, saisie, exploitation basique (recherche, tri, filtre). Nous allons étudier aujourd'hui les fonctions avancées : requête, formulaire, rapport.
Téléchargez sur votre bureau les deux fichiers suivants : "Course-original.odb" et "Course-objectif.odb". La base de données "Course-original.odb" est le document de départ, et "Course-objectif.odb" est le document que vous devez obtenir après modification. Ce dernier vous servira à comparer ce que vous avez fait et  ce qui vous est demandé.

II Requête
Ouvrez la base de données appelée "Course-original.odb". Ouvrez la table "Liste", destinée à inscrire les concurrents et à noter leur temps de course.
Nous allons créer une requête appelée "Résultats", destinée à mettre automatiquement les concurrents dans l'ordre d'arrivée .
Cliquez à gauche dans la page Base de données sur l'icône Requêtes qui s'encadre en bleu. Cliquez en haut de page sur "Créer une requête en mode ébauche". Une fenêtre s'ouvre avec "Ajouter une table ou une requête". La table "Liste" est surlignée. Cliquons sur Ajouter et fermons la fenêtre. Les champs de la table apparaissent à gauche. Nous allons choisir de ne faire apparaitre dans cette requête que l'ID, le Nom, le Prénom, le temps de course et la somme gagnée.
Double-cliquez sur ID : ce champ apparaît dans le tableau de construction de la requête, le nom de la table aussi, ainsi qu'une coche dans la ligne "Visible". Faites la même chose pour Nom, Prenom, Temps et Gain. Nous avons mis en place tous les champs nécessaires à la constitution de notre requête "Résultats".
Nous allons maintenant la mettre dans l'ordre d'arrivée : il faut donc classer les concurrents dans l'ordre croissant du temps. Pour cela, cliquez dans la cellule sur la ligne "Tri", en-dessous du champ "Temps". Une flèche apparaît : cliquez dessus et choisissez "Croissant".
Il nous reste à enregistrer cette requête : fermez la fenêtre Requête en cliquant sur la croix de fermeture. On vous demande un nom : Ecrivez "Résultats" et cliquez sur OK.
Vous pouvez maintenant ouvrir la requête en activant Requêtes et en double-cliquant sur Résultats : le tableau se présente avec les champs voulus, dans l'ordre voulu.

III Formulaire
Un formulaire est un document dans lequel les données apparaissent dans des fenêtres correspondant à des champs, disposées sur la feuille selon la volonté de l'utilisateur. 
Les données peuvent être soit lues, soit inscrites grâce au clavier, ou encore choisies à la souris selon une liste déroulante.
Ouvrez la base "Course-original.odb". Sélectionnez "Formulaires", puis "Créer un formulaire en mode ébauche". Une fenêtre s'ouvre représentant une page blanche, à l'intérieur de laquelle nous allons construire le formulaire.
A gauche se trouve une barre d'outils "Ebauche de formulaires". Elle contient Case à cocher, zone de texte, champ formaté, bouton etc...
Vous allez cliquer sur l'outil "Zone de texte", puis dessiner un rectangle dans la page blanche qui sera la zone du nom du participant.
Ceci étant fait, cliquez droit sur le rectangle et choisissez "Formulaire", puis dans l'onglet "Données", choisissez Requête. Dans Contenu, choisissez le nom de votre requête qui s'appelle "Résultats". Fermez la fenêtre.
Nous allons maintenant choisir le nom du champ de la requête qui va être associé à ce rectangle : clic droit sur le rectangle et choix "Contrôle". Dans l'onglet "Données" et sur la ligne "Champ de données", choisissez le champ que vous voulez mettre dans ce rectangle, ici "Nom". Fermez la fenêtre et Enregistrez sous le nom "Diplôme".
Faites un clic droit sur "Diplôme" et choisissez "Editer". Exécutez les mêmes opérations pour le Prénom et le temps de la course.
En titre de la Page, écrivez : "Cross National de Chalais". Centrez-le et réglez la police à 18.
A gauche de chaque champ, écrivez : "Nom", "Prénom",  "Temps de parcours".
Fermez la fenêtre et enregistrez le formulaire "Diplôme".
Ouvrez le formulaire "Diplôme" par un double-clic. Vous devez voir les renseignements appraître pour le premier inscrit. En bas du document, faites défiler les participants avec les flèches droite ou gauche.
Si vous voulez ajouter un nouvel enregistrement, vous pouvez le faire avec un clic sur "Nouvel enregistrement", à droite des flèches. La fiche nouvelle va prendre sa place dans la table de base.
Bien sûr, on peut aller beaucoup plus loin dans la mise sur pied d'un formulaire. Ceci n'est qu'un exemple simple. On peut notamment modifier le format d'écriture dans les rectangles, se baser sur une requête au lieu d'une table, ajouter des champs calculés. La richesse est insoupçonnée. On peut aussi imprimer chaque diplôme individuel.

IV Rapport
Nous allons construire une feuille destinée à être imprimée (rapport), récapitulant l'ordre d'arrivée pour affichage.
Ouvrez la base de données "Course-original.odb". Sélectionnez Rapports, puis "Créer un rapport en mode ébauche". Une fenêtre s'ouvre avec 3 zones importantes :
-à gauche, le canevas de construction ;
-à droite en haut, le choix entre table ou requête (ordre d'affichage et contenus différents). Choisissez d'abord le type de contenu "Requête", puis dans Contenu, le nom de notre requête : "Résultats"  ;
-à droite en bas, les champs correspondant au type de contenu que vous avez choisi.rapport
Faites glisser le champ "Nom" vers la zone En-tête de page et lâchez-le. Cliquez à l'extérieur pour le désélectionner. Les poignées doivent disparaître. Faites glisser le contenu du champ encadré "=Nom" vers le corps de page appelé "Détail" et amenez-le sous le titre de champ "Nom" qui lui, n'a pas bougé. Faites la même chose pour le champ "Prénom", le champ "Temps" et le champ "Gain".
Dans le haut de la zone En-tête, tracez un rectangle de champ d'étiquette. A droite, en face d' "Etiquette", à la place de  "Label", écrivez "Ordre d'arrivée" et centrez-le.
Quittez la fenêtre et enregistrez le rapport sous le nom "Ordre-arrivée".
Double-cliquez sur le rapport "Ordre-arrivée" pour l'ouvrir. Vous avez la feuille récapitulative de l'ordre d'arrivée, avec les temps et les sommes gagnées.

V Conclusion
Vous venez d'avoir un aperçu très simplifié de la construction d'une base de données et de ses satellites (requêtes, formulaires, rapports). Vous devez savoir que l'on peut aller beaucoup plus loin dans la sophistication (boutons, listes déroulantes, champs calculés, mise en page des formulaires et des rapports etc). L'édification d'une base de données complexe prend de nombreuses heures.
La prochaine fois, vous aurez à manipuler une base de données qui fonctionne déjà depuis des années, mais vous y reconnaitrez ce que vous avez construit aujourd'hui.