accesstp-01

29
1 IESP2A Université du Littoral Côte d'Opale Année universitaire 2010 / 2011 Base de données TP N°01 Enoncé Vous travaillez dans un organisme de formation. On vous confie le soin de créer une base de données dans le but de gérer les stagiaires. Voici un brouillon de la fiche désirée : Après analyse de cette fiche, on s'aperçoit qu'il y a deux types de données : celles qui concernent les stagiaires individuellement et celles qui concernent les stages globalement. On en déduit qu'il faut utiliser deux tables dont on peut donné la structure

Upload: fatim-ezzahra

Post on 24-Apr-2015

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: accessTP-01

1

IESP2A

Université du Littoral Côte d'Opale

Année universitaire 2010 / 2011

Base de données

TP N°01

Enoncé

Vous travaillez dans un organisme de formation. On vous confie le soin de créer une base de

données dans le but de gérer les stagiaires. Voici un brouillon de la fiche désirée :

Après analyse de cette fiche, on s'aperçoit qu'il y a deux types de données : celles qui concernent

les stagiaires individuellement et celles qui concernent les stages globalement. On en déduit qu'il faut

utiliser deux tables dont on peut donné la structure

Page 2: accessTP-01

2

Nom des tables Les champs Type Descriptions

1 Stages ReferenceStage NuméroAuto va permettre le lien pour les annotations

NomStage Texte - 20

DateDebutStage Date/Heure

DateFinStage Date/Heure

CommentaireStage Texte - 255

2 LesStagiaires ReferenceStagiaire NuméroAuto index

NomStagiaire

Prenom Texte - 30

ReferenceStage Texte - 30

Numérique

permettra de faire le lien avec

l'autre table

DateNaissance Date/Heure

Adresse Texte - 80

CodePostal Texte - 10

VilleStagiaire Texte - 40

TelephonePerso Texte - 20

TelephoneTravail Texte - 20

TelephonePortable Texte - 20

CommentairesStagiaires Mémo texte de grande taille (zone de saisie libre)

DateCreationFicheStagiaires Date/Heure la saisie sera automatique

DateDerniereModifStagiaires Date/Heure la date se modifiera à chaque modification

de la fiche

L'exercice consiste donc à :

1. Créer la structure de ces deux tables

2. Saisir directement dans la table Stages :

2 stages :

o DTS 1 - 1/4/1999 - 30/3/2000 - premier stage

o DTS 2 - 1/4/2000 - 30/3/2001 - deuxième stage

2 stagiaires par stage (pour les tests)

3. Créer le formulaire de saisie :

Pour les stages avec la liste des stagiaires composant les stages (saisir deux stages

supplémentaires DTS3 et DTS4)

Pour les stagiaires avec les données concernant les stages (effectuer les saisies nécessaires

pour qu'il y ait 5 stagiaires dans chaque stage.

4. Créer un menu qui se lancera automatiquement au démarrage et qui permettra de lancer le

formulaire des stages et celui des stagiaires.

5. Les dates « Création » et « DateDerniereModifStagiaires » doivent être remplies

automatiquement.

Remarque : dans cette base de données, pour simplifier, un stagiaire ne peut faire partie que d'un

stage.

Page 3: accessTP-01

3

1 Création de la base et de la première table

Lancer Access soir avec l’icône , soit avec : Demarrer Programmes Access

Si on clique sur « Nouvelle base de données », on obtient l’écran suivant :

Un nom est demandé dès le début car la base est écrite directement sur le disque dur, à la différence

de nombreux logiciels qui stockent leurs documents en mémoire jusqu'à la première sauvegarde

volontaire. On choisira comme nom de la base : « GestionStagiaires » (ce qui sera plus parlant que le

« bd1.mdb » qui est proposé par défaut)

Page 4: accessTP-01

4

Voici la page initiale de Microsoft Access : une feuille blanche avec 6 onglets :

Tables

Requêtes

Formulaires

États

Macros

Modules

On choisira « nouveau » de l'onglet Tables : car on veut d'abord créer la table des stages.

On choisira le « Mode Création » qui nous fait directement entrer dans le coeur d'une table.

Page 5: accessTP-01

5

On obtient une zone de saisie avec 3 colonnes :

Le Nom du champ (fixé dans l'énoncé)

Type de données (fixé dans l'énoncé)

Description (facultative)

On commence donc à saisir dans la colonne Nom du champ : (dans le nom du champ, les accents et

les espaces sont autorisés, mais nous ne les utiliserons pas, par respects des normes et pour éviter

certains problèmes de compatibilités) on choisira le type « NuméroAuto » pour le champ de

« ReferenceStage » et on cliquera « clé primaire » pour ce champ avec l'icône qui va bien (la clé) ou

le bouton droit de la souris lorsqu'on est sur la bonne ligne.

La clé signifie que chaque fiche « Stage » sera repérée par un numéro unique qui sera attribué

automatiquement grâce au type « NuméroAuto »

Page 6: accessTP-01

6

Et on enregistre notre première table en l'appelant « Stages »

En fermant la fenêtre création, on peut s'assurer que notre première table vient bien d'être créée (on

voit les dates en mode « affichage Détails » = icône entouré)

Double-cliquer la table stages et rentrer les 2 stages suivants :

DTS 1 01/04/1999 30/03/2001 Premier stage

DTS 2 01/04/2000 30/03/2001 Deuxième stage

On peut utiliser la touche « Tab » pour se déplacer entre les champs

2 Création de la deuxième table

En mode création :

Page 7: accessTP-01

7

C’est ici une des clefs d'Access : créer un lien avec une autre table !

Page 8: accessTP-01

8

On choisit uniquement les deux premiers champs avec la petite flèche indiquée entourée.

Les 2 stages saisis (DTS1 et DTS2) doivent apparaître sous « NomStage » :

Page 9: accessTP-01

9

Voici ce qui doit apparaître en cliquant l'onglet « liste de choix » :

Fermer les fenêtres concernant les tables puis cliquer « relations »

Page 10: accessTP-01

10

L’intégrité référentielle signifie que le champ « ReferenceStage » de la fiche stagiaire doit être

obligatoirement rempli avec une donnée de la table « Stage ». Il faudra donc commencer à saisir la

table des stages ! Résultat de l'opération d'intégrité référentielle :

Les stagiaires ne font partie que d'un seul stage (1) et pour 1 stage il peut y avoir plus d'un stagiaire

(symbole infini).

Fermer la fenêtre « Liaisons » puis cliquer sur la table « LesStagiaires » ; et là, suspens...

Page 11: accessTP-01

11

... si l'ascenseur apparaît lorsqu'on clique dans la 4ème colonne (« ReferenceStage ») la partie est

gagnée !

3 Notre premier formulaire !

Page 12: accessTP-01

12

Tous les champs de la table « LesStagiaires » sont pris (touche deux chevrons).

Pour la table « Stages », on écarte « ReferenceStage » qui est déjà présent mais on peut aussi le

laisser, pour voir...

Page 13: accessTP-01

13

Voici ce que propose l'assistant d'Access, par défaut. Ce qui donne, après quelques clics bien

ajustés... (Attention, le temps passe vite !) :

Page 14: accessTP-01

14

Si le bouton n'apparaît pas sur le contrôle correspondant au choix du stage, il faut user du bouton

droit de la souris et forcer : remplacer par... zone de liste modifiable

Si un champ disparaît il faut aller au menu Affichage :

Choisir le champ et le glisser dans le formulaire.

Ce qui donne lorsqu'on se met en mode formulaire ( )

4 Création du deuxième formulaire

Celui des stages, avec un aperçu des stagiaires de chaque stage sous forme de sous formulaire (un

des intérêt d'Access !).

Page 15: accessTP-01

15

Page 16: accessTP-01

16

Tous les champs de la table des stages sont pris et pour les stagiaires on ne prend que son nom,

prénom et code postal qui apparaîtront dans la liste des stagiaires (on peut choisir autre chose que le

code postal).

Page 17: accessTP-01

17

Après avoir fermé ce formulaire, voici ce qui apparaît (aux dates près)

Page 18: accessTP-01

18

5 Création du menu principal de notre application.

Le Menu principal est l'écran sur lequel on installera des boutons qui nous permettront d'aller dans les

formulaires ou de quitter l'application.

Page 19: accessTP-01

19

Pour enlever la barre qui se place à droite du formulaire :

On va créer notre premier bouton :

Page 20: accessTP-01

20

L’option par défaut est « image ». Nous préférerons le texte

Page 21: accessTP-01

21

6 Modification des formulaires avec ajout de boutons retour et Fin de l'application

On crée l'en-tête de formulaire pour y placer un bouton qui permettra de revenir au menu principal :

On accepte le choix par défaut :

Page 22: accessTP-01

22

On profite du mode création pour mettre un titre et quelques couleurs il faut utiliser les propriétés de

chaque contrôle ou les icônes de la barre d'outils contextuel (bouton droit de la souris)

Ce qui donne, lorsqu'on se replace en

Notre menu principal se peaufine :

Page 23: accessTP-01

23

On place dans l'autre formulaire ce bouton suggestif qui le fermera, ce qui fera réapparaître le menu

principal :

... qu'il faut enregistrer :

Voici un bouton qui permet de revenir au menu Access initial (pour vous le développeur).

Page 24: accessTP-01

24

Voici le bouton (cerise sur le gâteau) qui permet de quitter complètement l'application (à sauvegarder

avant de cliquer, car on scie, ainsi, la branche sur laquelle on est installé...)

Après quelques tâtonnements de mise en place des boutons je propose cette disposition, mais c'est

vous qui créez. Vous êtes donc libres de votre agencement.

7 Création de la macro-instruction « autoexec » qui lance le menu principal au démarrage + bouton raccourci sur le bureau, associé à la base de données

On se lance dans notre première macro :

Première instruction : le menu principal prendra toute la fenêtre

Page 25: accessTP-01

25

La seconde et dernière instruction ouvrira le formulaire Menu Principal :

On l'enregistre avec ce nom imposé qui sera lancé automatiquement par Access lorsqu'on ouvrira le

fichier « Gestion Stagiaires.mdb »

Page 26: accessTP-01

26

Avec l'explorateur (en mode fenêtré, pour laisser un bout du bureau apparent), on repérera le fichier

de la base et on le glissera AVEC LE BOUTON DROIT DE LA SOURIS ! Sur le bout de bureau et on

choisira : si vous utilisez le bouton droit, comme à votre habitude, vous allez déplacer votre base de

donnée sur le bureau où elle y sera très vulnérable ! Appuyez immédiatement dans ce cas là sur

CTR+Z ce qui remettra le fichier à sa place.

Voici l'icône produite. Notez bien la petite flèche qui indique un raccourci. Sinon, vérifiez bien avec les

propriétés du fichier que ce n'est pas un fichier MDB

Page 27: accessTP-01

27

En le cliquant, voici ce que vous devez voir apparaître lorsque le sablier s'efface :

8 Mise à jour automatique des dates

Comme n'importe quel fichier, chaque fiche gardera la trace de l'instant de sa création et celui de sa

dernière modification.

C'est la partie la plus technique de notre exercice : se placer sur le formulaire (CTR+R), puis appeler

les propriétés avec le bouton droit de la souris puis il faut se placer dans le contrôle « Avant MAJ » (et

non pas « Après MAJ » comme je l'ai fait intuitivement plusieurs jours de suite mais sans succès

jusqu'au jour où, me trompant de ligne, je suis parvenu à mes fins...)

Ajoutez cette ligne (en visual basic) dans le module. La date de Maj de chaque fiche se mettra à

l'heure système après chaque modification. Le nom du champ peut avantageusement provenir d'un

« copier-coller ».

Page 28: accessTP-01

28

Pour le champ création, c'est plus simple :

Il faut aller dans ces deux champs et placer cette formule dans la « valeur par défaut ».

Voici ce qui se passe lorsqu'on est en création de fiche. Ensuite c'est le module créé ci-dessus qui

s'activera lorsqu'on fera des modifications sur la fiche.

Page 29: accessTP-01

29

Message d'alerte si on passe à la fiche suivante sans avoir entré le stage (contrainte référentielle)