CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 1ère partie: Mise œuvre Tables - Formulaires Sommaire AVERTISSEMENT...2 1.MISE EN ŒUVRE DE L'APPLICATION OOo Base...2 2.LES OBJETS...4 2.1 Les Tables...4 2.1.1 Créer une table...5 2.1.2 Relation entre tables...13 2.1.3 Mise en place de la relation...13 2.2 Les Formulaires...15 2.2.1 Créer un formulaire simple...15 2.2.2 Formulaire et sous-formulaire...21 2.2.3 Une autre façon de créer un Formulaire Utilisation des contrôles de Formulaires...29 2.2.4 Séquence d'activation dans un formulaire...37 3.INFORMATIONS DOCUMENTS...39 OObase_mod1.odt 17/05/10 Retour au sommaire Page 1/39
AVERTISSEMENT La formation OOo Base et le support de cours ci-après, ne se veulent pas exhaustifs des possibilités de cette application. L'objectif est de donner les informations nécessaires et suffisantes à la création d'une base de données simple. A titre d'exemple il sera développé une base de gestion de bibliothèque personnelle. 1. MISE EN ŒUVRE DE L'APPLICATION OOo Base HSQLDB, qui est la base de données utilisée par OOo et en particulier par OOo Base est écrit en Java, de plus dès lors que nous utiliserons les Assistants, ceux-ci étant écrits en Java cela suppose qu'une version de ce logiciel soit installée. Lorsque l'on a téléchargé puis installé OpenOffice depuis le site officiel d'openoffice : http://fr.openoffice.org/about-downloads.html Une version avec JAVA Inclus nous a été proposée: Sinon il est possible de télécharger une version de JAVA en allant par exemple sur ce site : http://www.java.com/fr/download/ mais attention la version JAVA doit être en phase avec la version d'ooo. En allant dans Outils>Options>java nous pouvons vérifier si nous sommes connectés à une version Java. Sur la copie d'écran ci-après il y a 2 versions installées, la version 1.6.0_16 est pertinente pour OOo 3.0 et 3.1. figure 1: Au lancement d'openoffice soit nous cliquons sur l'icône correspondante à Base de données, OObase_mod1.odt 17/05/10 Retour au sommaire Page 2/39
soit Menu : Fichier>Nouveau et Base de données figure 2: Nous allons créer une nouvelle base de données, par conséquent nous cochons la case pertinente telle qu'indiqué sur la figure ci-dessus. Créer une Base de données Nous verrons plus après les autres cas : Cliquez sur la case Suivant figure 3: OObase_mod1.odt 17/05/10 Retour au sommaire Page 3/39
Après avoir coché les cases conformément à la copie d'écran figure 3 et après avoir cliqué sur la case:terminer, il vous est proposé d'enregistrer votre base, dans le dossier que vous sélectionnerez et avec le nom du fichier que vous choisirez : ma biblio par exemple; l'extension:.odb sera ajoutée automatiquement. Après avoir fait: Enregistrer et ainsi que nous l'avons défini (voir options figure 3) votre base de données est ouverte pour édition. : figure 4: Comme pour toutes les autres applications d'open Office la fenêtre de présentation est constituée de la barre de menu et des barres d'outils lesquels seront visibles à la création d'un objet. Les rubriques qui apparaissent sous Base de données : Tables, Requêtes, Formulaires et Rapports sont les objets constitutifs d' une base de données. 2. LES OBJETS Parmi ces objets ou composants, les Tables sont les éléments essentiels, incontournables d'une base de données. Ce sont elles qui contiennent toutes les informations ou données de la Base. Les autres objets servent soit à remplir ces tables c'est la vocation des Formulaires, soit à en extraire des informations: c'est le rôle des Requêtes, ou encore à produire des états des données à l'aide des Rapports. 2.1 Les Tables Il est important de bien réfléchir aux données ou champs qui figureront dans une table, et tout de suite se poser la question de savoir si nous aurons besoin de plusieurs tables pour cette base de données et si oui, lesquelles doivent être mises en relation. On peut toujours rajouter des champs à une table mais cela supposera de refaire les formulaires, requêtes et rapports liés à la table modifiée. Pour notre Base de données de gestion bibliothèque OObase_mod1.odt 17/05/10 Retour au sommaire Page 4/39
Quelles sont les données dont j'ai besoin (liste non-exhaustive): Le nom de l'auteur son prénom le titre de l'ouvrage le genre l'éditeur l'année d'édition l'endroit où il est rangé (étagère) s'il est prêté à quelle date date de rentrée ISBN (numéro international normalisé du livre) Une ou plusieurs tables? Un auteur publie plusieurs ouvrages, on peut donc dire que pour une occurrence de référence à un auteur il pourra y avoir plusieurs occurrences d'ouvrages. Le même auteur par exemple: Victor Hugo, a écrit beaucoup d'ouvrages: Les misérables, la légendes des siècles, la bataille d'hernani etc. Ce constat conduit à prévoir déjà 2 tables: une pour les auteurs et une autre pour les ouvrages, de plus ces tables seront mises en relation. Dans les données nous avons mentionné le Genre : roman, fiction etc. et l'éditeur: Flammarion, Grasset, Denoël etc., plutôt que d'entrer plusieurs fois la même donnée, il serait judicieux d'aller la chercher dans une liste, par conséquent on peut prévoir une table pour la liste des Genres et une autre pour celle des Éditeurs. Nous verrons 2 façons d'aborder ces listes. 2.1.1 Créer une table Puisque celles-ci contiennent toutes les données de la Base, il est donc logique de commencer par la définition des tables. La 1 ère table que nous allons créer est la Table des Auteurs. OObase_mod1.odt 17/05/10 Retour au sommaire Page 5/39
figure 5: Lorsque l'on a sélectionné l'objet :Tables, 3 modes de création de table sont proposés. Je vous suggère d'utiliser le mode : Créer une table en mode Ébauche... Le mode: Utiliser l'assistant pour créer une table... vous propose des noms de champs prédéfinis, ils ne correspondent pas obligatoirement à vos choix. La dernière proposition: Créer une vue...donne la possibilité d'obtenir le contenu d'une table, en créant une sorte de requête qui va visualiser le contenu de la table, sans pouvoir le modifier. Je double-clique sur : Créer une table en mode Ébauche... OObase_mod1.odt 17/05/10 Retour au sommaire Page 6/39
figure 6: Une donnée appelée également "champ", est caractérisée par son Nom et son Type, et éventuellement une description Nom du champ: C'est une chaîne de caractère significative de la fonction de la donnée. Type de champ:le type définit si cette donnée est un texte, un numérique, une date, une information oui/non, etc. les différents choix apparaissent en cliquant sur la liste déroulante telle que pointée par la flèche de la copie d'écran précédente. Les propriétés du champ, en bas de l'écran dépendent du type sélectionné. Clé Primaire Le fait que nous prévoyions de mettre en relation la table: AUTEURS avec la table OUVRAGES, implique que nous aurons à créer un champ un peu particulier qui est la clé Primaire. Son rôle est d'une part d'assurer la correspondance avec une autre table, elle est d'autre part nécessaire si on veut pouvoir mettre à jour les données d'une table avec un formulaire. Dans notre exemple cette clé Primaire, nous l'appellerons REF AUTEUR (voir figure 6) et le type que nous choisirons sera: Integer (nombre entier). Ce type est préféré aux autres parce qu'il permet de mettre dans les propriétés du champ une Auto Valeur: OObase_mod1.odt 17/05/10 Retour au sommaire Page 7/39
figure 7: c'est-à-dire que ce sera l'application qui va gèrer les valeurs et ainsi vous aurez la certitude que cette valeur sera toujours définie et unique (Pas de doublons) Elle est incrémentée 1 automatiquement pour chaque occurrence d'auteur. Vous pouvez également choisir vos valeurs, mais il faudra impérativement veiller à ne mettre que des valeurs uniques. Le champ: REF AUTEUR et son type étant définis, il faut en faire une Clé Primaire pour cela : figure 8: En cliquant "droit" sur la colonne la plus à gauche et sur la ligne correspondante à REF AUTEUR cette fenêtre (figure 8) apparaît. Sélectionnez: Clé primaire et vous obtiendrez ceci: Une clé apparaît dans la colonne: figure 9: Les autres champs de la table AUTEURS: 1 Incrémenter : ajouter une valeur: l'incrément, à la valeur courante. OObase_mod1.odt 17/05/10 Retour au sommaire Page 8/39
NOM AUTEUR : son type est Texte [VARCHAR_IGNORECASE] une chaîne de caractères mais pour laquelle la casse (Majuscules ou minuscules) ne sera pas prise en compte. Pour la recherche d'un auteur le fait d'ignorer la casse facilite les recherches. Dans les propriétés du champ on indiquera: saisie requise à oui : au minimum, nous avons besoin d'identifier l'auteur par son nom. Prénom : de type Texte [VARCHAR] une chaîne de caractères. On peut très bien ne pas rendre la saisie obligatoire pour ce champ, mais attention aux frères écrivains ou homonymes! Notre table étant définie, au moment de quitter la tâche de création de la Table, soit en cliquant sur l'icône de fermeture de la fenêtre soit par le menu: Fichier>Enregistrer ou Enregistrer sous l'application propose un nom par défaut : Table1 à vous de le remplacer par un nom plus explicite : AUTEURS ou T_AUTEURS 2 par exemple. La table est créée, il est possible de la modifier en sélectionnant le nom de Table dans l'objet : Tables et de cliquer sur l'icône de modification. Ces icônes (voir figure 11) sont utilisables pour les Tables mais également pour les autres objets : Formulaires, requêtes etc.. Il est possible aussi de faire un clic droit sur le l'objet par exemple la table AUTEURS, et de choisir la commande en fonction de ce que l'on veut faire: figure 10: 2 Il est recommandé de précéder le nom donné à un élément par la lettre définissant l'objet :T pour Table, F pour formulaire, etc. OObase_mod1.odt 17/05/10 Retour au sommaire Page 9/39
: figure 11: L'icône à gauche de celle qui est pointée par la flèche (figure 11) sert à ouvrir une table pour en voir le contenu, celle de droite permet de supprimer la table, sélectionnée. La Table: Ouvrages Elle est créée de la même façon que celle des Auteurs, toutefois nous remarquerons les différents types attribués aux champs. OObase_mod1.odt 17/05/10 Retour au sommaire Page 10/39
figure 12: Nous voyons que parmi les champs figurent: REF AUTEUR: qui a du même type que dans la table AUTEURS, c'est ce champ qui sera mis en correspondance. EDITEUR et GENRE sont du type: Texte [VARCHAR] Année Edition du type Texte [VARCHAR] 3 sorti le et rentré le sont 2 champs de type Date [Date]. Prêté: qui est du type oui/non donc une case à cocher. Dans les propriétés de ce champ on peut mettre la valeur par défaut à: non ID de type Integer (entier) est une clé primaire dont le rôle essentiel est de permettre la mise à jour du formulaire. Si vous n'avez pas défini un champ de clé primaire, au moment d'enregistrer la table OUVRAGES un message d'invitation à la créer (voir figure ci-après) apparaîtra: 3 Dans la version actuelle 3.0 OOo Base ne sait pas traiter des formats autres autres que JJ/MM/AA OObase_mod1.odt 17/05/10 Retour au sommaire Page 11/39
NOTA: A propos des noms donnés au champ, il est recommandé d'éviter les accents et de préféré les underscore "_" aux espaces, cela surtout si des requêtes SQL 4 utilisant ces champs sont prévues. Cliquez sur oui pour créer votre clé primaire. Mettez la propriété: Auto-valeur à oui, pour ne pas à avoir à gérer les valeurs. Les Tables: GENRES et EDITEURS La table: OUVRAGES comporte 2 champs GENRE et EDITEUR. Ainsi qu'il a été dit dans le paragraphe 2.1 pour chacun de ces champs nous prendrons une valeur dans une liste. Par conséquent il faut prévoir 2 tables GENRES et EDITEURS dans lesquelles nous entrerons la liste des valeurs possibles pour chaque rubrique. C'est lors de la création du formulaire que nous établirons la correspondance entre le champ de la table OUVRAGES et la table correspondante. Même démarche que celle définie en 2.1.1 Créer une table et pour chacune des tables, ajouter une clé primaire pour les raisons exposées précédemment. Le nom ID pour la clé primaire proposé par défaut peut être conservé, il peut aussi être modifié. figure 13: Les 2 tables La structure des Tables comme celle des autres objets: Formulaires, Requêtes, Rapports peuvent être modifiées, pour cela en ayant préalablement sélectionné la table, le formulaire, etc. à modifier, 2 façons de procéder: soit cliquer sur l'icône 2 : éditer ou modifier 4 SQL : Structured Query Language : langage structuré de requêtes OObase_mod1.odt 17/05/10 Retour au sommaire Page 12/39
figure 14: soit cliquer "droit" sur la table, le formulaire... et faire modifier L'icône 1 permet d'ouvrir l'objet sélectionné, ouvrir une table c'est voir son contenu; l'icône 3 permet de supprimer l'objet sélectionné: attention! De la même façon le clic "droit" sur l'objet donne accès aux fonctions : ouvrir, modifier, supprimer et également renommer, c'est-à-dire donner un autre nom à la table, au formulaire, à la requête, ou au rapport. Toutes nos Tables étant créées nous allons établir dans les faits la relation entre les tables : AUTEURS et OUVRAGES. 2.1.2 Relation entre tables Il existe 2 types de relation entre tables: la relation 1 à plusieurs la relation 1 à 1 Dans notre exemple de gestion bibliothèque, nous avons prévu (voir paragraphe: Une ou plusieurs tables) pour un auteur: de mettre en correspondance plusieurs ouvrages; C'est une relation de type 1 à plusieurs Par contre si par exemple je souhaitais séparer la table OUVRAGES en 2, une table OUVRAGES et une autre OUVRAGES_Suite. Pour chaque occurrence de la table OUVRAGES je devrais avoir une occurrence de table OUVRAGES_Suite: c'est une relation de type 1 à 1. Dans ce cas j'aurai la même clé Primaire dans les 2 tables. Dans notre exemple nous n'utiliserons pas cette possibilité mais dans certaines applications elle peut être intéressante. Précisons qu'une même table peut être en relation 1 à plusieurs avec une autre et parallèlement être en relation 1 à 1 avec une 2 ème table. 2.1.3 Mise en place de la relation Les Tables devant être mises en relation, et les champs assurant la correspondance étant définis, Menu: >Relation...puis Insertion et Ajouter des Tables OObase_mod1.odt 17/05/10 Retour au sommaire Page 13/39
figure 15: Les tables disponibles sont affichées, dans notre cas nous sélectionnons: AUTEURS AJOUTER puis OUVRAGES: AJOUTER les 2 tables apparaissent, cliquez sur: En laissant le doigt sur la souris "gauche" partez du champ: REF AUTEUR de la table: AUTEURS et amenez la souris sur le champ correspondant de la table OUVRAGES. Vous devriez obtenir ceci: FERMER : figure 16: la relation 1 à plusieurs (plusieurs représenté par n) est matérialisée, elle indique clairement que pour: 1 Auteur il pourra y avoir plusieurs ouvrages. OObase_mod1.odt 17/05/10 Retour au sommaire Page 14/39
2.2 Les Formulaires Les Tables contiennent toutes les informations de la base de données, il est possible d'entrer les informations directement dans les tables. Il suffit de double-cliquer sur la table et elle s'ouvre pour remplir les champs définis. Il est cependant plus pratique, et surtout plus évident pour un utilisateur lambda d'utiliser un formulaire pour entrer les informations, lesquelles viendront se ranger dans la table concernée. 2.2.1 Créer un formulaire simple Tout d'abord le cas d' un formulaire simple pour remplir la table: EDITEURS, sachant que pour la table: GENRES ce sera la même démarche. Rappelons que le but de ces tables est de définir une liste qui sera utilisée pour "alimenter" respectivement les champs Éditeur et Genre de la table OUVRAGES. Cliquez sur l'objet: Formulaires de la rubrique Base de données (voir figure 4) Dans la fenêtre Tâches: 2 propositions: 1. Créer un formulaire en mode Ébauche... 2. Utiliser l'assistant de création de formulaire... Dans un 1 er temps nous n'utiliserons pas la création de formulaire en mode Ébauche parce que la procédure est nettement moins aisée qu'avec l'assistant. Cependant ce mode peut s'avérer nécessaire dans certaines situations. Après avoir cliqué sur l'option 2 cette fenêtre s'affiche: figure 17: Puisque nous allons créer un formulaire pour remplir la table EDITEURS dans la case Tables ou requêtes il faudra sélectionner à l'aide de la liste déroulante la table EDITEURS. Dans la partie gauche de la fenêtre vous avez les différentes étapes, à chaque fois que vous ferez Suivant > vous passerez à l'étape suivante. Étape 1: sélection de champ Les champs disponibles sont affichés il suffira de cliquer sur le symbole >> pour que tous les champs disponibles soient visibles dans le formulaire, ils apparaitront alors dans la fenêtre de OObase_mod1.odt 17/05/10 Retour au sommaire Page 15/39
droite figure 18: On peut aussi sélectionner un par un chaque champ que l'on désire voir apparaître dans le formulaire pour cela: le sélectionner dans la fenêtre: champs disponibles puis cliquer sur le signe > : le champ est inclus avec les champs du Formulaire. Étape 2: paramétrer un sous-formulaire Pour ce cas de formulaire un sous-formulaire est sans objet, nous passons directement à l'étape suivante:5 Étape 5: Positionner les contrôles figure 19: OObase_mod1.odt 17/05/10 Retour au sommaire Page 16/39
la Disposition du formulaire principal vous donne 4 possibilités de mise en forme des champs dans votre formulaire. Je vous suggère celle qui est sélectionnée sur la figure 19, mais les autres possibilités peuvent être retenues en fonction du nombre de champs et de l'organisation du formulaire qui semble la plus ergonomique. Vous avez en arrière-plan une vue de ce que obtiendrez. Étape 6: Définir la saisie de données figure 20: Les configuration des cases cochées en figure 20 indique que ce formulaire doit servir à mettre à jour les données sans restrictions. Étape 7: Appliquer les styles Il s'agit essentiellement de définir la couleur d'arrière-plan : beige, rouge, eau...et de donner ou pas une bordure de champ. L'option 3D me paraît esthétique. Étape 8: Définir un nom OObase_mod1.odt 17/05/10 Retour au sommaire Page 17/39
figure 21: Ce formulaire sera identifié par un nom, par défaut l'application vous propose le même nom que celui de la table qui a servi de support aux champs du formulaire : EDITEURS dans notre exemple, vous pouvez garder ce nom ou le modifier par exemple: y adjoindre un F comme (Formulaire) ainsi que défini en figure 21. Après avoir cliqué sur Créer votre formulaire est affiché. A la base du formulaire se trouvent les outils pour la navigation dans les enregistrements. Rappelons qu'un enregistrement est une occurrence de données dans la table, chaque nouvel index "ID" (valeur de la clé primaire) est une nouvel enregistrement. OObase_mod1.odt 17/05/10 Retour au sommaire Page 18/39
Attention :Pour que les outils de la navigation dans les enregistrements soient visibles, il faut que dans le menu Affichage/barre d'outils, la ligne Navigation pour formulaire soit cochée ainsi que le montre la figure ciaprès. figure 22: Vous pouvez commencer à remplir votre formulaire, lorsque vous aurez entré une valeur (un éditeur) dans le champ Éditeur, l'index: ID, va prendre la 1 ère valeur disponible et vous pourrez passer à l'enregistrement suivant en cliquant sur la flèche de navigation ainsi qu'indiqué ci-après: OObase_mod1.odt 17/05/10 Retour au sommaire Page 19/39
figure 23: Si je visualise la table: Éditeurs après avoir entré 3 éditeurs (3 enregistrements) j'obtiens: Nota : Sur l'image ci-contre, les index commencent à 4 parce que j'ai effacé la table et recommencé à la remplir à l'aide du formulaire. Les index sont incrémentés (augmentés) de 1 à chaque nouvel enregistrement. figure 24: Le formulaire pour remplir la Table GENRES se fera sur le même modèle que celui pour la table EDITEURS. Un nom pour ce formulaire: F_GENRES par exemple. OObase_mod1.odt 17/05/10 Retour au sommaire Page 20/39
2.2.2 Formulaire et sous-formulaire Il nous faut créer des formulaires pour remplir la table: AUTEURS et la table: OUVRAGES. S'il est possible de créer un formulaire séparé pour entrer les auteurs, par contre la table OUVRAGES puisqu'elle dépend d'une relation à la table: AUTEURS via le champ REF AUTEUR, et que cette valeur est définie dans la table: AUTEURS ne peut être remplie indépendamment. Nous allons donc créer un formulaire dans lequel seront entrés les Auteurs et en même temps un sous-formulaire qui va nous permettre de renseigner les champs de la table OUVRAGES inhérents à un auteur. Ainsi que pour les autres formulaires nous cliquons sur: Utiliser l'assistant de création de formulaire... Étape 1: sélection de champ La table AUTEURS est sélectionnée dans Tables ou requêtes Tous les champs disponibles sont présentés dans le formulaire. Étape 2 :Paramétrer un sous-formulaire OObase_mod1.odt 17/05/10 Retour au sommaire Page 21/39
figure 25: Dans ce cas nous cochons la case: Ajouter un sous-formulaire puis l'option : Sous-formulaire basé sur une relation existante. La table: OUVRAGES vous est proposée automatiquement, c'est la seule table en relation avec AUTEURS. Elle doit être sélectionnée. Lisez la note d' information i de la fenêtre de l'assistant Étape 3 : Ajouter des champs de sous-formulaire OObase_mod1.odt 17/05/10 Retour au sommaire Page 22/39
Cliquez sur >> pour que tous les champs de la table OUVRAGES soient présentés dans le sous-formulaire Étape 4: sans objet Étape 5 :Positionner les contrôles figure 26: Il faut définir la disposition du formulaire principal : Auteurs et également celui du sousformulaire :Ouvrages, pour ce dernier je vous suggère de choisir celui de la copie d'écran cidessus pour la simple raison que cette présentation donne accès à la navigation dans les enregistrements. De cette façon vous obtiendrez une barre de navigation et pour les Auteurs et une autre pour les Ouvrages. Pour les étapes 6,7,8 se reporter à la création du formulaire F_EDITEURS; en ce qui concerne le nom donné à ce formulaire (lequel inclus un sous-formulaire) : F_AUTEURS_OUVRAGES est significatif de sa fonction. La copie d'écran qui suit vous donne un aperçu du formulaire que vous obtiendrez. OObase_mod1.odt 17/05/10 Retour au sommaire Page 23/39
figure 27: La flèche rouge indique l'outil de la barre de navigation des enregistrements : Auteurs, Ce qui suppose que l'on ait sélectionné un champ du formulaire Auteurs au préalable, la flèche bleue celle de la navigation des enregistrements :Ouvrages. je suis positionné sur l'enregistrement 1/5 qui correspond à l'auteur: HUGO Victor et pour cet auteur je peux voir 2 enregistrements de la table Ouvrages. Ce formulaire et plus particulièrement le sous-formulaire, doit pouvoir pour être efficace, me proposer une liste de choix pour le Genre ainsi que pour L'Éditeur. Rappelons que nous avons prévu 2 tables: les listes, pour "alimenter" ces champs. Il faut donc reprendre le formulaire F_AUTEURS_OUVRAGES, et après l'avoir sélectionné faire clic "droit" : modifier (ou icône 2 voir figure 14, page 12) Le sous-formulaire des Ouvrages est organisé en colonnes :ID, TITRE, GENRE...Nous allons changer les propriétés de la colonne: GENRE pour qu'elles définissent un contrôle de type: Zone de liste. La copie d'écran ci-après montre les outils de contrôles de formulaires, l'index pointe sur le contrôle Assistant qui doit être activé dès lors que vous rajouterez des contrôles. OObase_mod1.odt 17/05/10 Retour au sommaire Page 24/39
figure 28: Cliquez "droit" sur la colonne: GENRE (étiquette) Sélectionnez la ligne: Remplacer par puis cliquez sur Zone de liste OObase_mod1.odt 17/05/10 Retour au sommaire Page 25/39
figure 29: la colonne: GENRE est désormais une zone de liste, il faut maintenant en spécifier le contenu, c'est-à-dire quelles sont les données (une valeur de la table: GENRES) du champ:genre. De nouveau cliquez droit sur la colonne GENRE et cliquez sur Colonne Une fenêtre visualisant les propriétés de la zone de liste GENRE est affichée 3 onglets : Général, Données, Évènements. L'onglet Général donne des informations et en particulier le nom: GENRE dans notre exemple et l'étiquette qui porte par défaut, le même label que le nom, mais que l'on peut modifier pour mettre par exemple: Quel GENRE. Nous garderons l'étiquette GENRE. OObase_mod1.odt 17/05/10 Retour au sommaire Page 26/39
figure 30: Nous ne nous préoccuperons pas de l'onglet : Évènements. Pour information il permet d'assigner des macros à des actions avec la souris et/ou des touches du clavier; les macros ne feront pas l'objet de cette formation. Nous sélectionnons l'onglet: Données Le champ de données : affiche à priori le nom du champ GENRE Type de contenu de liste: bien que Liste de valeurs soit proposée il conviendra de modifier ce choix avec la barre de défilement, et de mettre: Sql 5 figure 31: Le fait d'avoir choisi: Sql induit l'affichage d'une petite case pointée par la flèche en figure 31. En cliquant sur cette case nous obtenons cette fenêtre qui est une ébauche de requête: 5 La procédure actuelle n'est pas très évidente, on peut espérer que dans les versions à venir elle sera simplifiée OObase_mod1.odt 17/05/10 Retour au sommaire Page 27/39
figure 32: dans notre cas de configuration de la zone de liste GENRE il faudra sélectionner la table GENRES 1 faire: Ajouter 2, la table est affichée double-cliquer sur le champ GENRE 3, le nom du champ (GENRE) et celui de la table (GENRES) sont positionnés automatiquement dans les colonnes et lignes de la requête(flèches bleues). Fermer la fenêtre Ajouter une Table ou une requête, puis la fenêtre ébauche de requête, et la fenêtre Propriétés Zone de liste. Ouvrez le formulaire F_AUTEURS_OUVRAGES, vous constatez que lorsque vous définissez le genre pour un nouvel ouvrage, un menu déroulant vous est proposé. OObase_mod1.odt 17/05/10 Retour au sommaire Page 28/39
figure 33: Pour la colonne: EDITEUR, les mêmes étapes de configuration de la zone de liste seront reprises en utilisant les références appropriées: à la table EDITEURS et au champ: EDITEUR. 2.2.3 Une autre façon de créer un Formulaire Utilisation des contrôles de Formulaires Supposons que nous ayons créer un formulaire pour entrer les auteurs dans la table: AUTEURS. Chaque auteur possède donc une référence: REF AUTEUR qui peut-être utilisée pour définir un ouvrage lui appartenant. En reprenant les même étapes que pour la création d'un formulaire principal simple, à partir de la table : OUVRAGES, nous créons un formulaire : F_OUVRAGES qui pourrait se présenter comme ci-après: NB: les champs créés par l'assistant formulaire comportent: le champ lui même et l'étiquette inhérente à ce champ, par exemple: TITRE est constitué d'un champ TITRE de type : Zone de Texte et d'un Champ d'étiquette dont le texte est TITRE. Lorsque l'on clique sur l'un des champs l'on obtient une sélection Multiple: les 2 champs sont sélectionnés. Si l'on souhaite modifier les propriétés d'un des champs il convient d'appuyer sur la touche CTRL et cliquer sur le champ souhaité : Champ d'étiquette ou champ Zone de texte OObase_mod1.odt 17/05/10 Retour au sommaire Page 29/39
figure 34: Les champs qui étaient présentés en colonnes dans le sous-formulaire sont affichés indépendamment, ce qui permet une réorganisation du formulaire qui sera vue après. Ainsi que TITRE, sorti le, rentré le...les champs: GENRE et EDITEUR sont de type: Zone de texte, nous allons les supprimer et les recréer de sorte qu'ils soient du type: Zone de liste. 1. Ouvrir le formulaire F_OUVRAGES en modification 2. cliquer sur le champ GENRE: il est sélectionné, faire: Suppress 3. même chose pour le champ EDITEUR OObase_mod1.odt 17/05/10 Retour au sommaire Page 30/39
figure 35: 4. mettre l'affichage des outils contrôles de formulaire et Ébauche de formulaire. Les icônes indiquées par les flèches figure 35 sont disponibles ce sont les outils pour nous aider à créer des contrôles dans le formulaire. Lorsque nous utilisons l'assistant de création des Formulaire, ce sont les types de champ: VARCHAR, oui/non etc. qui déterminent les contrôles à générer dans le formulaire. NB: Sur cette copie d'écran les champs GENRE et EDITEUR ont été supprimés. 5. Parmi les contrôles il y a: créer une Zone de liste OObase_mod1.odt 17/05/10 Retour au sommaire Page 31/39
Cliquer sur cette icône, amener le pointeur dans en espace libre en maintenant le doigt sur la souris et tirer vers la droite pour créer une case ou zone, dans laquelle sera inscrit le genre. Sur la figure ci-après la zone créée est délimitée par les petites "poignées" vertes. figure 36: 6. Sélection de table: Dans la mesure ou l'on a bien sélectionné les assistants,cette icône: lorsque l'on relâche le doigt de la souris, une fenêtre: Assistant zone de liste - sélection de table est affichée. L'assistant propose un choix de toutes les tables définies, et demande de sélectionner celle devant servir de base au contenu de la liste, dans notre cas c'est la table: GENRES qu'il conviendra de choisir, faire: 7. Sélection de champ : Il y a dans la table GENRES 2 champs: ID et GENRE, c'est le champ GENRE que nous souhaitons voir affiché. Faire: OObase_mod1.odt 17/05/10 Retour au sommaire Page 32/39
figure 37: 8. Liaison de champs: il s'agit de faire correspondre le champ GENRE de la table OUVRAGES avec celui de la table des GENRES figure 38: Cliquer sur Terminer Votre contrôle Zone de liste est créé, pour que l'utilisateur sache à quoi il se réfère, il semble utile d'ajouter une étiquette. Les autres zones : TITRE, Prêté, sorti le... ont un contrôle et une étiquette associée. Nous allons donc créer une étiquette pour notre zone de liste : GENRE OObase_mod1.odt 17/05/10 Retour au sommaire Page 33/39
L'outil de contrôle de Formulaire est: créé un champ d'étiquette cliquer sur l'icône correspondante: puis ainsi qu'il l'a été décrit pour la zone de liste, tracer une zone pour ce champ d'étiquette. Par défaut l'étiquette porte le label : champ d'étiquette, nous allons le changer pour mettre: GENRE. Faire un clic droit sur le contrôle champ d'étiquette puis sélectionner la ligne: contrôle, l'onglet Général voir ci-après, vous permet de choisir différents paramètres et en particulier : Étiquette figure 39: Remplacer ligne Étiquette le texte "champ d'étiquette" par GENRE. Vous pouvez également modifier l'alignement, la couleur d'arrière-plan, la bordure, etc. NOTA: Pour chaque contrôle de formulaire qu'il ait été créée avec l'assistant (automatique) ou en ébauche avec les outils de contrôle Formulaire, vous pourrez en modifier les paramètres d'affichage. OObase_mod1.odt 17/05/10 Retour au sommaire Page 34/39
Pour créer un contrôle Zone de liste pour le champ EDITEUR, il suffit de reprendre la procédure au point 5 en utilisant la table: EDITEURS et le champ: EDITEUR. Ce formulaire F_OUVRAGE serait plus complet et convivial si l'indication du NOM et du Prénom de l'auteur apparaissaient à l'utilisateur, la référence auteur n'étant guère significative. Nous allons donc y ajouter les contrôles nécessaires pour que ces informations soient affichées sur le formulaire. Rappelons que chaque ouvrage de part la relation établie entre les tables, a une référence auteur: REF AUTEUR et une seule. Par conséquent en disposant de cette référence nous avons les renseignements concernant l'auteur de l'ouvrage : son NOM AUTEUR et son Prénom. Nous ouvrons notre formulaire F_OUVRAGE en modification et nous traçons un contrôle zone de liste en reprenant la procédure décrite Point 5 A l'étape sélection de Table nous choisirons la table: AUTEURS Sélection de champ : Nous souhaitons voir le champ: NOM AUTEUR figure 40: Liaison de champs: il faut indiquer la correspondance entre le champ REF AUTEUR de la table OUVRAGES et REF AUTEUR de la table AUTEURS OObase_mod1.odt 17/05/10 Retour au sommaire Page 35/39
figure 41: C'est ce lien qui va faire que lorsque nous afficherons un ouvrage, la référence auteur va permettre d'afficher le nom et le prénom de l'auteur de cet ouvrage. Vous constatez en ouvrant votre formulaire que le nom de l'auteur et son prénom, si toutefois vous avez repris la même procédure pour mettre le prénom. La copie d'écran qui suit montre un exemple d'un ouvrage : Les Misérables de HUGO Victor. figure 42: OObase_mod1.odt 17/05/10 Retour au sommaire Page 36/39
La navigation de formulaire, permet en cliquant sur la forme pointée par la flèche bleue de progresser dans les enregistrements : les différents ouvrages pour chacun l'identité de l'auteur est affichée. La flèche rouge vous indique l'icône qui permet de supprimer l'enregistrement en cours. 2.2.4 Séquence d'activation dans un formulaire Lorsqu'un formulaire est ouvert pour remplir les différents champs, nous pouvons soit cliquer dans chaque champ à remplir soit utiliser la touche de tabulations. En utilisant cette touche de tabulations l'ordre des champs a été définie à la création du formulaire. Pour changer l'ordre d'activation: Ouvrez le formulaire en modifications Cliquez sur l'icône indiquée sur la copie d'écran ci-après: figure 43: Cliquez sur le champ que vous souhaitez voir activé : plus tôt ==> Déplacer vers le haut plus tard ==> Déplacer vers le bas Fermez votre formulaire et enregistrez vos modifications OObase_mod1.odt 17/05/10 Retour au sommaire Page 37/39
ATTENTION : Si vous avez créé un formulaire pour entrer les auteurs indépendamment des ouvrages, vous ne pourrez pas supprimer un enregistrement correspondant à : un auteur s'il y a toujours des ouvrages qui font référence à cet auteur. OObase_mod1.odt 17/05/10 Retour au sommaire Page 38/39
3. INFORMATIONS DOCUMENTS Auteur : FRICARD Claude Adresse E-mail : fricard.claude@wanadoo.fr Document crée le : 11/04/2009 Dernière modification : 05/06/10 Voir Module suivant(les Requêtes) OObase_mod1.odt 17/05/10 Retour au sommaire Page 39/39