Vous êtes sur la page 1sur 17

COURS WINDEV NUMERO 4

14/02/2015

Travailler avec plusieurs fichiers


de donnes
Cration dun MCD,
Gestion des champs indexs,
Manipulation de donnes,
Liaison des donnes,

Pr requis : Cours WinDev Numro 1,2 et 3

Cours WinDev Numro 4

Cours WinDev Numro 4


VERSION 19

Lobjectif de ce cours est de vous familiariser avec lutilisation des fichiers lis.
Nous allons crer une mini GPAO (Gestion de Production Assiste par Ordinateur). Vous
travaillez pour un assembleur informatique, son processus de production est le suivant : Il reoit
les diffrentes pices dtaches (disque dur, mmoires, cartes mres) et assemble ces
diffrentes pices pour en faire un modle fini. Comme vous pouvez le percevoir, le modle
conceptuel travaillera avec 2 entits (Ensemble fini et composants). Voici une reprsentation du
MCD :

Remarque : Je nai pas besoin de vous rappeler que les proprits soulignes et en
gras dsignent les identifiants de lentit, donc je ne le fais pas.

Vous allez commencer par crer un nouveau projet nomm TP4. Dans lAssistant, vous
slectionnerez votre thme prfr, confirmerez le choix de cration danalyse et finirez le
processus de lassistant. Un nouvel assistant de Cration danalyse va apparatre. Vous pouvez
ensuite valider les diffrentes fentres de lAssistant jusqu arriver lAssistant de Cration
dun fichier de donnes.
Restez sur Crer une nouvelle description dun fichier de donnes, dans le plan suivant
donnez Ensemble comme Nom et Ordinateurs assembls comme Libell. Pensez choisir
Aucun dans la zone Identifiant automatique puisque nous avons Refens qui sera notre
identifiant.
Gardez HFSQL Classic comme Type de base de donnes. Lassistant va se terminer

Maintenant la fentre suivante apparat

http://www.btsig.org/

Jean-Luc Baptiste

Page 1 sur 16

Cours WinDev Numro 4

Cest elle qui va vous permettre de saisir toutes les proprits de votre entit. Remplissez-la
pour quelle ressemble ceci et noubliez pas de mettre RefEns en cl unique (notre identifiant):

Une fois remplie, cliquez sur le jet vert et retournez sous lditeur de Windev. Enregistrez le
projet.
Attention un cran va vous demander si vous voulez crer une fentre ou allez sous lditeur,
cliquez sur Editeur de Windev pour rester dans lanalyse.

http://www.btsig.org/

Jean-Luc Baptiste

Page 2 sur 16

Cours WinDev Numro 4


Si vous regardez bien votre diteur danalyse en haut vous devez dcouvrir une barre doutils
comme celle-ci :

Voyez les utilisations des diffrentes icnes en passant le curseur de la souris dessus.
Comme vous tes dgourdis et intelligents je vous laisse finir de concevoir le modle !
Voil quoi vous devez arriver :

Vous venez donc de crer le Modle Logique de Donnes (MLD). Enregistrez.


Attention : Noubliez pas que ce nest pas parce que lanalyse est cre que les fichiers sont
physiquement crs sur votre disque dur Allez dans le code du projet Projet / Code du projet
et inscrivez la squence suivante dans la zone Initialisation de TP4 :

HCrationSiInexistant(Composant)
HCrationSiInexistant(Ensemble)
HCrationSiInexistant(Intgre)
HGreIntgrit("*", "*", hCardinalit+hEnModification+hEnSuppression, Faux)
La dernire ligne indique WinDev de ne pas se soucier de grer lintgrit rfrentielle, nous
le ferons nous-mme.
Maintenant que lanalyse est cre, nous allons commencer construire notre application.
Choisissez Accueil / Nouveau / Fentre.
Crez une fentre nomme Dpart qui sera la premire fentre du projet. Faites en sorte qu'elle
ait les caractristiques suivantes (dans sa description):
Onglet Gnral :
Nom logique : dpart
Description : Premire fentre du projet
Titre : Bienvenue dans la Mini Gp
Onglet IHM :
Taille : Taille 640*480
Onglet Dtail :
Type de fentre : Mre Mdi
Remarque : Une fentre mre MDI est obligatoirement la premire fentre d'un projet
WinDev. Cette fentre permet d'afficher toutes les fentres de l'application.
Une fentre mre MDI a les caractristiques suivantes (non modifiables) : bords
modifiables, bouton d'iconisation, d'agrandissement, menu systme, barre de titre,
barre d'icnes, possibilit d'avoir un menu droulant et des barres outils.
Dans une fentre mre MDI, seuls les champs situs dans la zone "barre d'icnes"
peuvent tre en saisie. En dehors de cette zone, aucun champ ne peut tre en saisie,
aucun clic souris n'est actif.

http://www.btsig.org/

Jean-Luc Baptiste

Page 3 sur 16

Cours WinDev Numro 4


Nous allons placer une barre doutils dans cette fentre dpart, pour cela cliquez sur lobjet

Crer une barre doutils (Cliquez sur le menu Fentre pour voir licne)
, choisissez
Barre doutils et placez le dans le bord suprieur gauche de la fentre. Faites un clic droit sur
ce nouvel objet et allez dans Description. Nous allons placer 5 boutons dans cette barre doutils
(un pour saisir les nouveaux composants, un pour crer des ensembles, un pour imprimer la
liste des composants, un pour imprimer lensemble et ses composants, le dernier pour quitter
lapplication).
Vous allez donc cliquer sur le bouton Crer puis choisissez Bouton. Le rsultat obtenu devrait
ressembler ceci :

Cliquez sur Bouton1, puis sur le bouton Editer, dans cette fentre Description dun bouton
saisissez nc dans la zone Nom, supprimez le libell par dfaut, cliquez ensuite sur Catalogue
pour la zone Image.
Le catalogue apparat, sur la gauche choisissez seulement 16*16 (nous naurons que des petites
images), dans la zone Recherche frappez dossier puis appuyez sur la loupe.
Prenez le 4me bouton de la 4me ligne puis validez. Dans longlet Aide de la fentre description,
dans la zone Bulle daide inscrivez Saisie dun nouveau composant.
Pour les boutons suivants, faites de mme en suivant les instructions suivantes :
Boutons

Nom

BULLE DAIDE

MOT CLE (RECHERCHE ICONE)

Bouton2

Crer

Crer des ensembles

Crer

Bouton3

ImprimeC

Imprimer les composants

Imprimer

Bouton4

ImprimeE

Imprimer les ensembles

Imprimer

Bouton5

Fermer

Quitter lapplication

Annuler

Vous choisirez les icnes les plus en phase avec le but du bouton.
Remarque : Si vous avez des difficults pour placer les boutons (chevauchement par
exemple), allez dans leur onglet Dtail et affectez leurs les dimensions suivantes :
largeur 32, hauteur 24.
Voici un exemple de ce que devrait tre la barre doutils :

http://www.btsig.org/

Jean-Luc Baptiste

Page 4 sur 16

Cours WinDev Numro 4

Nous allons crer les 4 fentres filles ncessaires pour faire fonctionner notre application (fentre
filles car elles doivent sexcuter lintrieur de la fentre mre, logique ! Non ? ). Pour le bouton
Quitter, je vous laisse mettre le code correspondant, vous navez plus besoin de mon aide,
sinon retour aux TP prcdents.

Pour la premire fentre associe au bouton


Onglet Gnral de la description
Nom logique : Gcompo
Description : Gestion des composants

, respectez les consignes ci-dessous :

Le code douverture de la fentre


fille sera :
OuvreFille(Gcompo)

Titre : Gestion des composants


Onglet IHM
Largeur : 500
Hauteur : 350
Position : Relatif la mre
Onglet Dtail
Type de fentre : Fille Mdi

http://www.btsig.org/

Jean-Luc Baptiste

Page 5 sur 16

Cours WinDev Numro 4


Voici quoi elle devrait ressembler :
Ces 3 champs sont lis avec les champs du fichier Composant (faitesles glisser depuis longlet
droite de lcran). Si certains ont
des difficults : retour au TP3. Faites en sorte que RefComp ait un
masque de saisie TOUT EN MAJUSCULES.

Crez
2
boutons :
BAjout et
BSup

Nom de la table mmoire : Table1


RefComp : type texte
Dsignation : type texte
PrixAchat : type numrique (Titre : Prix dAchat)
Choisir dans lassistant Remplir la table par programmation
Dans longlet IHM, dans la zone Etat initial, cliquez sur Slection (sans saisie).
Pour ceux qui auraient encore des difficults : voir TP3
Maintenant analysons le comportement que devra avoir cette fentre louverture : Elle devra
parcourir le fichier Composant et afficher les tuples dans la table mmoire s'il y en a.
Le bouton Ajouter devra :
.
Inscrire la valeur des 3 champs dans le fichier correspondant en interceptant une erreur
de doublonnage si lutilisateur saisi 2 fois une rfrence existante,
.

Il devra aussi mettre blanc les 3 champs pour prparer une nouvelle saisie,

.
Rafficher la table mmoire (supprimer le contenu existant et rcrire avec le contenu du
fichier),
.

Et enfin avertir lutilisateur que tout sest bien pass.

Le bouton Supprimer devra :


.

Supprimer physiquement la ligne pointe dans la table mmoire

Rafficher la table mmoire

Voici les diffrents codes (je vous rappelle quils ont dj t tudis la leon 3) :

http://www.btsig.org/

Jean-Luc Baptiste

Page 6 sur 16

Cours WinDev Numro 4


Nous allons crer une procdure locale affichetable qui aura pour rle de rafficher la table
mmoire (supprimer le contenu existant et re-crire avec le contenu du fichier) :

TableSupprimeTout(Table1)
POUR TOUT Composant
TableAjouteLigne(Table1,Composant.RefComp,Composant.DsignationC,Compo
sant.PrixAHT)
FIN
Cette squence devrait vous tre familire donc je ne vous la commente pas, sinon retour au
cours 3.
Rappel pour faire une procdure locale cliquez sur Procdures locales en bas de lcran :

Clic droit dans cette zone et Code pour


activer le processus de cration de la
procdure.

Dclarations globales de Gcompo (la fentre) :

// Appel de la procdure affichetable


affichetable()
Maintenant on est sr que ds que cette fentre souvrira, la table mmoire sera en phase avec
le contenu du fichier.
Remarque : Certains dentre vous se demandent peut tre pourquoi utiliser des tables
mmoire pour afficher le contenu des fichiers plutt que des tables fichiers qui
semblent toutes destines cette utilisation. Ma rponse est simple : la table mmoire
vous apportera plus de souplesse et une gestion plus fine des enregistrements et des
lignes dans certains cas. Et puis qui peut le plus peut le moins ;-)))
Voici le code du bouton BAjout :

EcranVersFichier() // Transfre les valeurs contenues dans les champs de la fentre


// dans la zone de structure du fichier
HAjoute(Composant) // Passe la structure physiquement dans le fichier
RAZ(Vrai)// Efface les valeurs contenues dans les champs lis pour saisir un nouveau
composant
affichetable()

http://www.btsig.org/

Jean-Luc Baptiste

Page 7 sur 16

Cours WinDev Numro 4


Voici le code du bouton BSup :

HLitRecherchePremier(Composant,RefComp,Table1.Refcomp) // Recherche dans la


table Composant,
// sur la rubrique RefComp, la valeur contenue dans RefComp de Table1
SI HTrouve ALORS
// Si la valeur est trouve alors
HSupprime(Composant) // On supprime physiquement la ligne dans le fichier
Composant
Info("Suppression russie")// On informe lutilisateur de la russite de la
suppression
Affichetable()
SINON
// Sinon, on na pas trouv ?!!
Info("Il y a un boulon dans le potage")
// Bizarre, bizarre !
FIN
Enregistrez la fentre et testez votre projet sans oublier de dfinir quelle est la 1re fentre du
projet (dpart), normalement les comportements doivent tre cohrents. Dans le cas contraire,
reprenez le support et vrifiez que vous navez pas oubli quelques instructions.
Nous allons maintenant faire la fentre la plus intressante au niveau intellectuel, celle qui gre
lassemblage dun ordinateur.
Crez une nouvelle fentre (Accueil / Nouveau / Fentre). Prenez une fentre vierge et
enregistrez la sous Gensemble.
Noubliez pas den faire une fentre fille (cf. : tapes identiques la fentre Gcompo) et de
mettre le code douverture de cette fentre dans le deuxime bouton de la barre doutils de la
fentre dpart.
Voici la fentre telle quelle devrait tre :

http://www.btsig.org/

Jean-Luc Baptiste

Page 8 sur 16

Cours WinDev Numro 4


Objet N

Nom

Rle

RefEns

Li Ensemble.RefEns (TOUT EN MAJUSCULES)

PrixVHT

Li Ensemble.PrixVHT

Dsignation

Li Ensemble.Dsignation

BPremier

Bouton nous positionnant sur le premier enregistrement du fichier


Ensemble

BPrecedent

Bouton nous positionnant sur lenregistrement prcdent

BSuivant

Bouton nous positionnant sur lenregistrement suivant

BDernier

Bouton nous positionnant sur le dernier enregistrement du fichier


Ensemble

Table1

Table mmoire contenant des rubriques similaires la structure de


Composant

BAjout

Bouton nous permettant dajouter un composant lensemble

10

BSupprime

Bouton nous permettant de supprimer un composant lensemble

11

BNouveau

Bouton nous permettant de crer un nouvel ensemble

12

BValide

Bouton nous permettant de valider un ensemble

13

BSupp

Bouton nous permettant de supprimer un ensemble

Analyse des lments de la fentre Gensemble.


A louverture de la fentre dans le code dinitialisation, nous devrons nous positionner sur le
premier ensemble (sil existe) et rechercher tous ces composants constitutifs.
Voici comment faire :
Il nous faut lire la rfrence de lensemble (RefEns), parcourir le fichier de liaison (Intgre) sur
la cl RefEns, tant que lon trouve Ensemble.RefEns=Intgre.RefEns il nous faut chercher dans
la table composant la cl de liaison (Intgre.RefComp = Composant.RefComp) et rcuprer
Intgre.Qt. Cest clair ?
Non !! Alors relisez en ayant lanalyse en tte.
Nous allons crer une procdure locale qui, prenant en paramtre le code RefEns, nous remplit
la table. Facile et efficace.
Notez quune requte SQL nous aurait vit pas mal de lignes, vous de juger.

http://www.btsig.org/

Jean-Luc Baptiste

Page 9 sur 16

Cours WinDev Numro 4

PROCEDURE remplir (code)


TableSupprimeTout(Table1)
FichierVersEcran(Gensemble) // on affecte aux champs de la fentre les donnes lies
POUR TOUT Intgre AVEC RefEns = code
HLitRecherche(Composant,RefComp,Intgre.RefComp) // A vous de trouver
TableAjouteLigne(Table1,Composant.RefComp,Composant.DsignationC,Compo
sant.PrixAHT,Intgre.Qt)
FIN
En fait, comme vous pouvez le voir, nous venons de jongler avec 3 fichiers sans trop de
difficults. Regardons le code dinitialisation de la fentre (Dclarations globales de la fentre
Gensemble)

HLitPremier(Ensemble,RefEns)
SI HNbEnr(Ensemble)>0 ALORS // si le fichier Ensemble contient au moins un
enregistrement
remplir(Ensemble.RefEns)
SINON
Info("Le fichier est vide")
FIN
Voyons le code ncessaire aux boutons 4, 5, 6 et 7 (pour les icnes, faites un tour du ct des
flches en 16x16).
Je vous donne le code du bouton 4, vous tes suffisamment aguerri pour pouvoir crer le code
des boutons 5, 6 et 7.
Comment a ? Rflchissez un peu et vous y arriverez ! Non mais, il faudrait tout leur faire
(Si vous ne savez pas hop, au TP 3).
Dailleurs, je ne vous le donne pas, non je ne suis pas mchant, jai seulement la flemme de
vous rcrire la squence de code du dessus. Eh oui, cest ce bout de code, analysez le et
regardez quel point il est idal pour notre bouton 4.
Nous allons traiter le bouton 9. Ce bouton doit nous permettre de slectionner dans le fichier
Composant le composant que nous voulons insrer dans la table mmoire. Nous allons voir si
WinDev peut nous gnrer la fentre qui va bien. Allez sur Accueil / Nouveau / Fentre.
Cherchez une fentre nomme Vision et validez.
Dans lAssistant qui arrive, cliquez sur Composant, cliquez encore sur Suivant, vrifiez que
tous les champs soient cochs, cliquez encore sur Suivant 2 fois. Interdisez la saisie dans le
champ table. Puis saisissez Selection comme Nom. Enfin cliquez sur Terminer.
Vous avez maintenant une fentre fonctionnelle dans laquelle on peut supprimer le bouton
Nouveau (on peut utiliser la cration de composants avec notre 1 er bouton du menu). Rduisezla pour quelle soit plus petite. Voici quoi elle pourrait ressembler :

http://www.btsig.org/
16

Jean-Luc Baptiste

Page 10 sur

Cours WinDev Numro 4

Regardons comment nous pourrions modifier le code pour quil nous soit utile. Allez dans le code
du bouton OK. Vous pouvez voir que la fentre retourne vrai si on clique sur OK, faux sur
Annuler.
Qui dit bandeau dplac dit structure mmoire du fichier contenant les valeurs recherches !
Donc, nous naurons qu lancer la fentre et tester si elle retourne vrai.
Fermez-la et retournez sur Gensemble dans le code du bouton BAjout. Saisissez la squence
de code suivante :

resultat est un boolen=Faux


resultat=Ouvre(selection)
SI resultat=Vrai ALORS // la fentre nous a renvoy vrai, donc le bandeau a t dplac
TableAjouteLigne(Table1,Composant.RefComp,Composant.DsignationC,Compo
sant.PrixAHT)
FIN
Je vous laisse mditer sur la diffrence entre tableajoute et tableajouteligne (noubliez pas
dutiliser laide, touche F1).
Sauvegardez et excutez la fentre, normalement le clic sur le bouton BAjout lance bien la
fentre selection qui nous retourne vrai ou faux selon le bouton cliqu.
Pour saisir la Qt, cliquez dans la colonne pour saisir le nombre souhait. Noubliez pas de
vrifier que la Table est En saisie et davoir seule la rubrique Qt En saisie / actif, les autres
restant en mode Affichage seulement.
Pour le bouton 10 (BSupprime), la squence de code a dj t tudie lors du TP3. Pour le
bouton Nouveau (BNouveau), il vous faut programmer un traitement qui efface les champs 1,
2, 3 et la table mmoire, vous savez faire, donc je passe.
Le bouton Supprime (BSupp) va nous obliger scanner 2 tables et supprimer les rfrences
Ensemble recherches. Il faut donc prendre la valeur du champ 1 (RefEns), parcourir la table
Intgre sur le champ RefEns et supprimer tous ceux gaux au champ RefEns. Et ensuite le
supprimer dans la table Ensemble.
Voici une squence de code qui devrait tre efficace :

SI OuiNon("Voulez vous vraiment supprimer cet enregistrement ?")=Oui ALORS


POUR TOUT Intgre AVEC Intgre.RefEns = RefEns
http://www.btsig.org/
Jean-Luc Baptiste
Page 11 sur
16

Cours WinDev Numro 4

HSupprime(Intgre)

FIN

FIN
HLitRecherchePremier(Ensemble,RefEns,RefEns)
SI HTrouve ALORS
HSupprime(Ensemble)
Info("La suppression est russie")
ExcuteTraitement(Gensemble,trtInit)
FIN

Vous navez pas besoin que je vous commente ce code, il est limpide.
La squence du bouton Valider va tre un peu plus rude, mais gure plus. En fait, lorsquun
nouvel ensemble est cr ou modifi par ladjonction dun nouveau composant, il va nous falloir
faire plusieurs actions diffrentes.
Il faut supprimer lensemble existant dans le fichier pour le recrer avec ses nouveaux
composants, donc on commence par une phase de suppression (voir code ci-dessus) et on
achve par une phase dinsertion dans le fichier.
Le code est long mais nest pas complexe, prenez le temps de ltudier.

i est un entier
HLitRecherchePremier(Ensemble,RefEns,RefEns)
SI HTrouve(Ensemble) ALORS // l'enregistrement existait dans le fichier, on va le
supprimer
HLitRecherche(Intgre, RefEns, RefEns)
POUR TOUT Intgre AVEC Intgre.RefEns = RefEns
HSupprime(Intgre)
FIN
HSupprime(Ensemble)
FIN
// Maintenant inscrivons l'ensemble dans le fichier
Ensemble.RefEns=RefEns
Ensemble.DsignationE=DsignationE
Ensemble.PrixVHT=PrixVHT
HAjoute(Ensemble)
// Remplissons le fichier Intgre
POUR i=1 A TableOccurrence(Table1) // Pour i=1 aux max de la table mmoire
Intgre.RefComp=Table1.RefComp[i] // [i] indique l'indice de la ligne
Intgre.RefEns=RefEns
Intgre.Qt=Table1.Qt[i]
HAjoute(Intgre)
FIN
Info("L'ajout s'est bien pass")
Voil, la super fentre de gestion des ensembles est finie Noubliez pas de sauvegarder votre
uvre.
Le troisime bouton de la barre doutil sert imprimer la liste des composants, vous avez dj
tudi la procdure dans le TP 3 donc je ny reviens pas.
Voyons comment imprimer les ensembles et leurs composants (bouton 4)

http://www.btsig.org/
16

Jean-Luc Baptiste

Page 12 sur

Cours WinDev Numro 4


Nous allons nous laisser guider par lAssistant pour faire un tat avec des donnes provenant
des 3 tables. Allez dans Accueil / Nouveau / Etat.
Choisissez ensuite un type dtat tableau, cliquez sur Suivant.
Vrifiez que les donnes proviennent bien dune requte et cliquez sur Suivant.
Faites-lui comprendre que les donnes proviennent dune nouvelle requte que vous voulez
dfinir maintenant, cliquez sur Suivant.
Maintenant vous devez avoir cette fentre lcran :

Cliquez sur cette flche pour faire


passer les champs de lanalyse
dans la liste des lments de la
requte

Cliquez ici pour indiquer ltat


que vous dsirez un tri
croissant sur RefEns

Cliquez ensuite sur Suivant. A la question Voulez-vous des ruptures dans ltat rpondez
Oui et cliquez sur Suivant.
La fentre suivante vous demande de slectionner la rupture, vrifiez que Rfrence de
lensemble soit bien coch, cliquez sur Suivant.

http://www.btsig.org/
16

Jean-Luc Baptiste

Page 13 sur

Cours WinDev Numro 4

Passez les champs appartenant Ensemble en Haut de Rupture. Les lments


en haut de rupture apparaissent une seule fois. Les lments dans le corps
apparaissent autant de fois quil y en a dans le fichier

Cliquez ensuite sur Suivant. La fentre suivante vous demande quels sont les champs
numriques sur lesquels vous voulez effectuer un calcul, essayer de faire en sorte quelle
ressemble ceci :

Cliquez sur Suivant. Les choix suivants concernent les formats du papier, laissez-les par dfaut
sauf lorientation que vous prendrez en Paysage et cliquez sur Suivant.
Choisissez un gabarit et Suivant. Nommez cet tat Iensemble, comme titre Etat des
ensembles . Ouf ! Vous pouvez enfin cliquer sur Terminer.
Comme votre tat est plus large que la feuille, passez en mode paysage. Votre tat apparat
maintenant dans lditeur dtat. Si vous voulez faire quelques retouches, cest maintenant.

http://www.btsig.org/
16

Jean-Luc Baptiste

Page 14 sur

Cours WinDev Numro 4


Il ne vous reste plus qu activer ltat dans le bouton de la barre doutils avec la squence de
code suivante :

iAperu(i100)
iImprimeEtat(Iensemble)
Voil, ce modeste "mini-lab" est fini. Vrifiez que tous les boutons fonctionnent, que les
traitements sont cohrents. Il y aurait des amliorations possibles (concevoir un compteur qui
totalise les prix HT des composants entrant dans la composition dun ensemble). Mais je
considre que vous tes apte le faire vous-mme.
Vous avez mrit la pause syndicale

http://www.btsig.org/
16

Jean-Luc Baptiste

Page 15 sur

Cours WinDev Numro 4

Exercice Pratique
Enonc :
La municipalit de votre lieu de rsidence dsire ouvrir une bibliothque municipale.
Connaissant vos nombreuses comptences informatiques, ladjoint au maire charg de
la culture vous demande de concevoir le logiciel charg de la gestion des prts de livre
et des achats.
Voici quelques lments de rflexion :
Chaque livre est rfrenc par un numro ISBN qui sert didentifiant et qui est dfini de
faon internationale, par exemple le livre WinDev, WebDev, WinDev Mobile crit par
Jean-Luc Baptiste aux ditions ENI a le numro ISBN 978-2-7460-5898-9.
Le directeur de la bibliothque voudrait pouvoir saisir les rfrences compltes du livre
(la date dachat, son prix dachat, la quantit achete, le fournisseur, sa classification :
policier, aventure).
Cette saisie doit lui permettre de connatre le nombre total de livre en stock, le cot du
stock, le nombre et le cot par type de livre, le nombre de livre par auteur avec le titre
et la quantit en stock. Si vous avez dautres statistiques lui proposer, elles seront les
bienvenues.
Un client est rfrenc par un numro alatoire gnr par la base de donnes. Les
emprunteurs doivent pouvoir tre ajouts, modifis, supprims.
Les rgles de gestion sont les suivantes :

Une personne ne peut pas emprunter plus de 3 livres de la bibliothque. Elle peut
en emprunter 3 dun coup ou les uns aprs les autres ;

Elle doit ramener un livre 15 jours aprs son emprunt. Le systme doit pouvoir
faire un tat des livres emprunts non rentrs et diter un listing avec les noms,
prnoms, adresses et N de tlphone des emprunteurs et la liste des livres quils
auraient d rendre. Ainsi, le bibliothcaire pourra tlphoner la personne pour
lui demander de rendre les ouvrages.

On doit pouvoir imprimer ou visualiser :

La liste complte des livres ainsi que leur quantit en stock ;


La liste des livres en prt ;
La liste des inscrits nayant jamais emprunt un livre.

http://www.btsig.org/
16

Jean-Luc Baptiste

Page 16 sur