Passer au contenu

Présenter et imprimer des informations

Le moment est venu d’exploiter votre base de données et d’en tirer le meilleur profit. Requêtes, tri, extraction, diffusion… Les informations peuvent être traitées de multiples façons.

Faites des requêtes

Les requêtes permettent de filtrer et d’afficher ? parfois de modifier ? des enregistrements selon un ou plusieurs critères. Une requête renvoie donc un ensemble d’enregistrements triés dans un ordre donné. Vous pouvez créer une requête à partir d’une ou plusieurs tables simultanément mais également à partir du résultat d’une ou plusieurs autres requêtes. Deux assistants vous permettent de créer facilement des requêtes. Pour y accéder, rendez-vous sur la fenêtre principale de Base et cliquez sur Requêtes.

Triez les données

Afin de retrouver plus facilement un client, nous souhaitons obtenir une vue triée de la table Clients. Notez que, par défaut, cette table est classée dans l’ordre de saisie des données, ce qui n’est pas forcément très pratique. Pour cela, cliquez sur Utiliser l’assistant de création de requêtes. Dans le premier écran, vous êtes invité à saisir les champs que vous souhaitez afficher. Sélectionnez la Table:Clients, cliquez sur le bouton >> afin d’inclure tous les champs dans la requête puis cliquez sur Suivant. Sélectionnez l’ordre de tri : par Clients.Nom, puis par Clients.Prenom (remarquez la notation TableXX.ChampYY permettant de préciser le champ ChampYY d’une table TableXX). Enfin, cliquez directement sur Créer. Le résultat intermédiaire de la requête apparaît immédiatement dans une nouvelle fenêtre, sous la forme d’un tableau similaire à la table Clients. La seule différence est l’ordre de tri. Comme cette requête a été créée à partir d’une seule table, vous pouvez y appliquer les mêmes traitements que n’importe quelle autre table. Vous pouvez donc y modifier des données, en ajouter ou en supprimer.

Affichez certaines réservations

Selon le même principe, vous pouvez extraire les seules réservations dont le prix se trouve dans un intervalle précis. À nouveau, cliquez sur Utiliser l’assistant de création de requêtes. Sélectionnez Table : Reservations et cliquez sur le bouton >> afin d’inclure tous les champs puis cliquez sur Suivant. Sélectionnez comme ordre de tri : par Reservations.Nuit puis par Reservations.Numero (les enregistrements seront triés par date puis par numéros de chambres). Cliquez cette fois sur Suivant afin de définir des conditions de recherche. Supposons que nous souhaitions afficher les réservations d’un montant compris entre 50 et 70 euros. Assurez-vous que l’option Rechercher sur la base de tous ces critères est cochée (vous pouvez indiquer jusqu’à trois critères à l’aide de cet assistant). Pour le premier critère, indiquez : Reservations.Prix est égal ou supérieur à 50. Pour le second, indiquez Reservations.Prix est inférieur à 70. Cliquez sur Créer afin d’afficher directement les résultats. Sans surprise, les réservations apparaissent dans la feuille de données.

Modifiez une requête

Lorsque vous modifiez une requête, celle-ci ne s’affiche plus via l’assistant de création mais directement dans le mode Ébauche, un peu plus complexe, mais beaucoup plus puissant car il contient tous les outils nécessaires à la création d’une requête. Refermez les résultats de la Requête_Reservations. Depuis l’écran principal de Base, faites un clic droit sur Requête_Reservations et choisissez la commande Modifier. Dans la partie haute de la fenêtre, apparaît la table sur laquelle s’applique la requête et, en bas, les critères de sélection regroupés par champs. Les éléments situés plus à gauche sont prioritaires par rapport à ceux de droite. Ainsi, le tri sera d’abord fait de manière croissante par Nuit, puis de manière croissante par Numero.

Ajoutez des critères de sélection

Notez qu’il existe deux colonnes Prix. En effet, nous devons appliquer deux critères sur ce champ. Supposons que nous souhaitions afficher les réservations de la semaine du 8 au 16 février 2010, et dont le montant est compris entre 50 euros et 70 euros. Comme la première colonne s’applique à Nuit, il vous suffit, pour cela, de cliquer sur la première cellule de la ligne Critère. Saisissez >= 08/02/2010 (Base ajoute automatiquement les symboles “ # ” indiquant qu’il s’agit d’une date). Pour ajouter un second critère s’appliquant au champ Nuit, cliquez dans la première cellule vide de la première ligne (juste à droite de Prix). À l’aide de la flèche vers le bas, sélectionnez Reservations.Nuit. Décochez la case Visible située quatre lignes en dessous. Dans la case Critère située encore deux lignes au dessous, saisissez <=16/02/2010. Enfin, cliquez sur l’icône Enregistrer puis sur Exécuter la requête pour en afficher les résultats.

Regroupez plusieurs tables

Les requêtes permettent d’afficher des informations issues de plusieurs tables. Ainsi, nous souhaitons disposer d’un tableau regroupant les réservations. Outre le numéro de la chambre et l’identifiant du client, nous voulons également afficher son nom, son prénom et son adresse. Pour cela, à partir de l’écran principal de Base, cliquez sur Créer une requête en mode ébauche. Vous êtes alors invité à choisir les tables et/ou les requêtes que vous souhaitez utiliser. Sélectionnez Clients, cliquez sur Ajouter, sélectionnez maintenant la table Reservations, cliquez sur Ajouter puis sur Fermer. Les deux tables apparaissent en haut de l’écran. Vous y voyez la liaison entre les champs IDClients des tables Clients et Reservations. La table que nous voulons afficher doit présenter en premier la date de réservation (Nuit), le Numero de la chambre, le Nom, le Prenom et l’Adresse du client. Elle doit être triée par date. Pour cela, à l’aide de la souris, glissez Nuit de la table Reservations jusqu’à la première colonne. Procédez de même en glissant Numero dans la seconde. De même glissez Nom, Prenom et Adresse de la table Clients dans les colonnes suivantes. Dans la première colonne (Nuit), cliquez dans la case Tri et sélectionnez tri Croissant. Enregistrez votre requête (par exemple sous le nom Requête_DetailReservations) puis lancez-la afin d’en afficher les résultats.

Affichez les chambres occupées à une date donnée

Afin de simplifier la gestion de notre hôtel, vous voulez connaître la liste des chambres occupées à une date imposée. Pour cela, cliquez sur Créer une requête en mode ébauche. Ajoutez la table Reservations et cliquez sur Fermer. Glissez Nuit dans la première colonne. Décochez la case Visible et, dans Critère, saisissez : dateResa. Ici, DateResa est un paramètre dont vous choisissez le nom, et dont Base vous demandera de préciser la valeur à chaque lancement de la requête. Dans la seconde colonne, glissez Numero. Cliquez sur l’icône Enregistrer et nommez la requêtes ChambresOQP. Refermez la fenêtre.

… puis les chambres libres

Connaître la liste des chambres libres est probablement beaucoup plus utile. Pour cela, nous allons créer une vue de toutes les chambres, puis retirer de cette liste les chambres occupées. Cliquez sur Créer une requête en mode Ébauche. Ajoutez la table Chambres. Cochez la case Requêtes et ajoutez ChambresOQP. Cliquez sur Fermer. Glissez depuis ChambresOQP le champ Numero jusque sur le champ Numero de la table Chambres (attention à bien respecter ce sens). Double-cliquez sur le trait bleu qui symbolise la liaison. Dans Type de liaison, choisissez Jointure Gauche, de façon que tous les enregistrements de la table Chambres soient sélectionnés. Glissez le champ Numero de la table Chambres dans la première colonne et le champ Numero de la vue ChambresOQP dans la seconde. Cliquez sur Exécuter la requête. Base vous demande de saisir une date. Saisissez celle correspondant à une réservation. La première colonne contient toutes les chambres de l’hôtel, la seconde est remplie pour les chambres occupées et vide pour les chambres libres. À partir de cette requête, il suffit de n’afficher que les lignes pour lesquelles la seconde colonne est vide. Dans la zone Critère de la seconde colonne, saisissez : IS EMPTY (“ est vide ”). Lancez la requête : seules les chambres libres apparaissent. Sachez que si les tables peuvent être utilisées dans les formulaires, les requêtes aussi. Il est donc tout à fait possible d’intégrer au formulaire réalisé dans la partie précédente les informations renvoyées par cette requête.

Diffusez vos données

Les rapports vous permettent de créer des états imprimables de l’ensemble des données présentes dans la base. Il peut bien entendu s’agir du contenu des tables, mais également de résultats de requêtes. Une fois de plus, Base dispose de deux niveaux d’outils : un Assistant permettant de remplir la plupart des tâches basiques et un mode évolué, assez proche du mode de création de formulaires. Ce second mode, correspondant à la tâche Création d’un formulaire en mode Ébauche, nécessite que le module Sun Report Builder soit installé. Vous pouvez l’obtenir gratuitement via le menu Outils, Gestionnaire des extensions. Quel que soit le mode utilisé, Base crée des rapports au format Writer, (le traitement de textes d’OpenOffice) que vous pouvez ensuite, au besoin, retoucher facilement. Dans ces conditions, l’Assistant intégré suffit généralement.

Créez un rapport

Dans la fenêtre principale de Base, cliquez sur Rapports puis sur Utiliser l’assistant pour créer un rapport. Le premier écran permet de choisir la table ou la requête à utiliser. Nous allons imprimer les résultats de la Requête_DetailReservations. Sélectionnez-la puis cliquez sur >> afin d’insérer tous les champs. Cliquez sur Suivant. Vous êtes alors invité à compléter les intitulés que porteront, dans le rapport, les différents champs. Comme Nuit n’est pas forcément clair, remplacez-le par Date de la nuit réservée. De même, remplacez Numero par Numéro de chambre et validez par Suivant. Vous pouvez alors regrouper des enregistrements en fonction de la valeur d’un champ. Dans notre exemple, nous allons regrouper tous les enregistrements correspondant à une nuit donnée afin que celle-ci ne soit pas répétée chaque fois. Cliquez sur Nuit puis sur >. Validez par Suivant. Nuit est automatiquement pris comme ordre de tri principal. Sélectionnez Numéro comme tri secondaire et cliquez à nouveau sur Suivant. Choisissez un format de présentation. Vous pouvez, par exemple, opter pour Alignement à gauche – contrastes.

Imprimez les données

Cliquez sur Suivant. Laissez cochée l’option Rapport dynamique , afin de conserver le modèle de ce rapport. Il vous suffira de le rouvrir pour que les données soient automatiquement mises à jour. Cliquez enfin sur Créer. Le rapport s’affiche immédiatement. À l’aide du menu Fichier, Enregistrer la copie sous, effectuez une sauvegarde du document, par exemple sous le nom hoteldunord.odt. Validez en cliquant sur Enregistrer. Fermez la fenêtre de rapport. Déroulez le menu Fichier, Ouvrir : sélectionnez hoteldunord.odt et validez par Ouvrir. Le document s’ouvre dans Writer. Vous pouvez dès lors facilement le modifier, lui ajouter un titre, modifier la mise en page… Il ne vous reste plus qu’à l’imprimer normalement ou, si vous préférez, l’enregistrer au format PDF (cette commande est accessible dans le menu Fichier) pour le diffuser par exemple par mail.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Stéphane Darget