0% ont trouvé ce document utile (0 vote)
60 vues90 pages

Access 2010

Le document présente une formation sur la gestion de bases de données Access 2010, incluant des instructions pour créer et gérer des enregistrements tels que des crèches, des tuteurs et des enfants. Il décrit également les conventions de nommage des tables et des champs, ainsi que les différents types de données et leurs propriétés. Enfin, des exercices pratiques sont proposés pour appliquer les connaissances acquises.

Transféré par

ferek
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
60 vues90 pages

Access 2010

Le document présente une formation sur la gestion de bases de données Access 2010, incluant des instructions pour créer et gérer des enregistrements tels que des crèches, des tuteurs et des enfants. Il décrit également les conventions de nommage des tables et des champs, ainsi que les différents types de données et leurs propriétés. Enfin, des exercices pratiques sont proposés pour appliquer les connaissances acquises.

Transféré par

ferek
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

CECOTEPE

Province de Liège

Anne Lise Comhaire & Nicolas Van Hees

Gestion de Bases de
données Access 2010

"Nous traversons le présent les yeux bandés. Plus tard, seulement quand est
dénoué le bandeau et que nous examinons le passé, nous nous rendons compte
de ce que nous avons vécu et nous en comprenons le sens."

Milan Kundera

I
Chapitre 0 - Démo Nicolas Van Hees & AL Comahire

Chapitre 0 - Démo

1 Pour lancer la base


Pour lancer la base de données, cliquer sur le fichier
BDcreche - demo.accdb, un second fichier est alors automatiquement créé.
BDcreche - demo.laccdb

Vous arrivez dans la base de données, cliquer sur le bouton Entrer dans la BD.

2 Exercice
Encoder les données suivantes dans les formulaires qui vous sont proposés :

Ajouter une nouvelle crèche : Ajouter un nouveau tuteur :


IdCreche : 25 IdTuteur : 30
Nom : Le jardin des enfants Nom : Leloup
Adresse : Rue des libellules 25 Prenom : Roger
Téléphone : 04/555 34 18 Etat civil : Marié
Prix à la journée : 20

Gestion de Bases de données Access 2010


Chapitre 0 - Démo Nicolas Van Hees & AL Comahire

Ajouter un nouvel enfant,

IdEnfant : 7980 Date d’entrée : 01/09/2022


Nom : Leloup Adresse, Code Postal, Ville, Tél à inventer
Prenom : Yoko Médecin traitant : Papy
Date de naissance : 15/3/2022 Compte bancaire : 340-09876543-43
Sexe : F Poids à la naissance : 4150
Nom de la crèche : celle que vous avez créée Taille à la naissance : 52
Tuteur : Leloup Roger comme tuteur Vaccin : OK
Personne responsable : père Couleur de cheveux : blond
Date de sortie : rien car toujours en crèche Frère et Sœur : cocher

Trouver les informations suivantes dans les formulaires

Dans la liste des crèches, sélectionner la crèche du Laveu, combien d’enfants y-a-il dans cette
crèche ?
Combien d’enfants y-a-t-il en tout ?
Combien d’enfant y-a-t-il dans la crèche que vous venez de créer.
Quel est le prix à la journée de la crèche du magnolia

Dans les infos des enfants :


Dans quelle rue habite Linotte Siméon ?
Quelle était la taille à la naissance de Lebrun Maxime ?
Quelle est la couleur de cheveux de Linotte Nicolas ?

Gestion de Bases de données Access 2010


Chapitre 0 - Démo Nicolas Van Hees & AL Comahire

Dans : Qui a eu quelle maladie ?


Quels sont les enfants qui ont eu une angine ?

Dans : Qui est tuteur de qui ?


De qui est la tutrice Linotte Marie ?

Les états sont les documents destinés à être imprimés

Outils pour interroger la base de données, les requêtes

Combien d’enfants sont nés en septembre ?


Combien de filles sont nées après le 1/1/2020 ?
Quels sont les poids des 3 plus gros enfants ?
Combien d’enfants ont eu la varicelle ?
Vérifier que le programme calcule bien date de naissance de l’enfant + 3 mois.
Combien d’enfants y-a-il dans la crèche des poètes ?

Pour quitter la base de données, choisir :

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

Chapitre 1 - Tables

1 Convention choisie pour les noms.


Les noms de table commenceront par T_NomTable, les noms de formulaires par
F_NomForm, les états par E_NomEtat et ainsi de suite. C'est une convention que j'ai choisie
mais vous pouvez parfaitement en choisir une autre tant que vous êtes structuré au niveau de
la nomenclature.
Pour les noms de champs composés de plusieurs mots, ceux-ci seront collés avec des
majuscules pour les séparer. De plus, nous les ferons précéder de l'initiale du nom de la table.
Exemple : MDateNaissance, MNom (champs de la table T_Membre).

2 Les propriétés des champs.


Chaque champ est caractérisé par trois informations:
• Le nom du champ: ce nom doit décrire le contenu du champ de manière synthétique.
Nous choisirons des noms faciles à utiliser, pas trop longs. Un maximum de 64 caractères
est autorisé. Le système ne tient pas compte de la présence de majuscules. Les espaces
sont utilisés mais alourdissent les notations.
• Le type de données: décrit la place occupée et les caractéristiques formelles des données.
Tous les types de données acceptent une valeur spéciale qui doit s'interpréter comme "non
connu". Cette valeur particulière, appelée Null, est différente de 0 ou d'une chaîne vide.
C'est la valeur par défaut quand on n'en spécifie pas d'autre (sauf pour les champs
numériques ou la valeur par défaut est 0).
• La description: cette information est facultative. Elle permet de documenter le champ,
l'information apparaît dans la barre d'état lors de la saisie.

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

En Access, on peut définir 9 types de champs différents:


TEXTE Il s'agit du type par défaut. Un champ texte peut contenir jusqu'à 255
caractères. La longueur par défaut est de 50. Vous avez intérêt à spécifier une
longueur en rapport avec les données figurant dans le champ pour éviter toute
perte de place sur le support de stockage.
MEMO Ce sont des champs texte particuliers. Ils peuvent contenir jusqu'à 64.000
caractères. Les champs de ce type ne peuvent être indexés. Vous les utiliserez
pour spécifier une remarque (texte libre)
NUMERIQUE N'importe quel type numérique. Différentes options de taille existent et seront
renseignées plus loin.
DATE/HEURE Date et heure pour les années comprises entre 100 et 9999
MONETAIRE Champ numérique représentant une valeur monétaire. Les données sont
stockées avec une précision de 4 décimales.
NUMERAUTO Il s'agit d'un nombre incrémenté automatiquement par Access chaque fois
qu'un nouvel enregistrement est créé. Les champs NuméroAuto ne peuvent
être mis à jour par l'utilisateur. Access peut également attribuer à ce champ
une valeur aléatoire.
OUI/NON Ces champs ne peuvent prendre qu'une valeur entre 2 possible: Oui/Non,
VraiFaux, Actif/Inactif
OBJET OLE Ce champ peut contenir un objet créé par une application supportant les
échanges OLE (Excel,…). Taille maximale: 1 Go. Ils ne peuvent être indexés.
On peut aussi introduire une image ou une photo via ce type de champ.
LIEN HYPERTEXE Ce type de champ permet d'intégrer une adresse Internet dans une table Access
ASSISTANT LISTE Il s'agit d'une aide à la création de listes de valeurs pouvant être choisies par
DE CHOIX l'utilisateur. Cette liste peut être créée ou provenir d'une table ou d'une requête.

Examinons l'onglet propriété au bas de la fenêtre, on y trouve:

Taille du champ: spécifie le nombre de caractères disponibles pour le champ. Pour les
champs numériques, cette taille correspond à une technique de représentation des nombres
en mémoire. Le tableau suivant reprend, pour chaque type de champ, la mémoire occupée.

Type de champ Option de taille Taille en mémoire


TEXTE Disponible jusqu'à 255 octets
MEMO Non disponible jusqu'à 64 000 octets
NUMERIQUE Disponible
Octet: stockage de nombres compris entre 0 et 255. 1 octet
Entier: stockage de nombres compris entre –32768 et 2 octets
32767 (sans décimales)
4 octets
Entier long: stockage de nombres compris entre -2 147
483 648 et -2 147 483 648 (sans décimales) 4 octets
Réel simple: stockage de nombres dont la précision
atteint 6 chiffres et qui sont compris entre -3,402823*1038
et 3,402823*1038
Réel double: stockage de nombres dont la précision 16 octets
atteint 10 chiffres et qui sont compris entre –
1,79769313486232*10308 et 1,79769313486232*10308
N° de réplication
DATE/HEURE Non disponible 8 octets
MONETAIRE Non disponible 8 octets
NUMERO/AUTO Disponible
OUI/NON Non disponible 1 bit
LIAISON OLE Non disponible jusqu'à 1 Go

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

LIEN HYPERTEXTE jusqu'à 2048 octets


LISTE DE CHOIX Non disponible fonction des éléments
constituant la liste

Nouvelles valeurs: Cette propriété n'est valable que pour les champs de type NuméroAuto.
Il est possible de choisir entre Incrément (la valeur du champ est automatiquement
incrémentée à chaque nouvelle création d'enregistrement) et Aléatoire (le champ reçoit
une valeur aléatoire lors de la création de l'enregistrement).
Format: voir paragraphe concernant les formats.
Décimales: précise le nombre de décimales à afficher pour les champs de type numérique
et pour ceux de type monétaire. La valeur par défaut, Auto correspond à un nombre
variable de décimales (en fonction de la taille du champ et de ce qui est nécessaire). Si on
veut choisir d'afficher un nombre de décimale précis, il faut d'abord choisir format Fixe.
Masque de saisie: voir paragraphe concernant les masques de saisie.
Légende: Vous pouvez entrer un nom de champ descriptif qui sera affiché sur les
étiquettes de formulaires et des états. A ce niveau c'est déconseillé sous peine de
mélanger les noms réels des champs et les étiquettes.
Valeur par défaut: spécifie une valeur prédéterminée si l'utilisateur n'introduit rien dans ce
champ. Cela peut être un nombre ou une date (ex: la date actuelle). Cela peut
éventuellement être le résultat d'une fonction. Pour les listes de choix il est conseillé
d'enlever les valeurs par défaut mises à 0.
Valide si: introduit une fonction permettant de vérifier la validité de l'information
introduite. On pourra ainsi tester si la valeur introduite est comprise dans une plage
précise (ex: entre 1000 et 9999 pour un CP en Belgique). Si cette règle n'est pas
respectée, l'utilisateur devra remplacer la valeur par une autre conforme ou annuler la
saisie en appuyant sur ESC.
Message si erreur: spécifie le message qui sera affiché lorsque la règle de validation n'est
pas respectée. En l'absence de message, un message standard est affiché.
Null interdit: spécifie si la valeur Null est autorisée ou non.
Chaine vide autorisée: précise si le champ peut contenir une chaîne vide ou non. Une
chaîne vide est encodée au moyen de doubles guillemets. La différence entre une chaîne
vide est la valeur null est assez subtile. Nous introduirons une chaîne vide lorsque, pour
ce champ, il n'y a pas de valeur (absence d'un numéro de fax par exemple). La valeur Null
sera utilisée quand on ne connaît pas l'information.
Indexé: -.

Remarque concernant l'utilisation des propriétés Null interdit et chaîne vide autorisée. Le
tableau suivant reprend le comportement d'Access lorsque ces deux propriétés sont
combinées.
Chaine vide autorisée Null interdit Action utilisateur Valeur enreg par Access
Non Non Appuyez sur ENTREE Null
Appuyez sur ESPACE Null
Entrez une chaîne vide (non autorisé)
Oui Non Appuyez sur ENTREE Null
Appuyez sur ESPACE Null
Entrez une chaîne vide chaîne vide
Non Oui Appuyez sur ENTREE (non autorisé)
Appuyez sur ESPACE (non autorisé)
Entrez une chaîne vide (non autorisé)
Oui Oui Appuyez sur ENTREE (non autorisé)
Appuyez sur ESPACE chaîne vide
Entrez une chaîne vide chaîne vide

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

Tableau récapitulatif reprenant, pour chaque type de donnée, les principales propriétés
pouvant être définies.
TYPES DE CHAMPS TEXTE MEMO NUM DATE/H MONET. NUMAUTO OUI/NON OLE LISTE DE
CHOIX
Taille de champ X X X
Nouvelles valeurs X
Format X X X X X X X
Décimales X X
Masque de saisie X X X X
Légende X X X X X X X X
Valeur par défaut X X X X X X
Valide si X X X X X X
Message si erreur X X X X X X
Null interdit X X X X X X X
Chaîne vide autorisée X X X
Indexé X X X X X

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

3 Exercices
3.1 La table T_Avion – énoncé
Enlever les valeurs par défaut des champs numériques
IdAvion : Numéro Clé primaire
automatique
ANom : Texte 100 char – obligatoire
ACapacite : Numérique Le nombre s'affichera s'il est connu et "psg"
s'inscrira derrière (ex: 500 psg), sinon on
affichera en rouge: "à compléter"
ANbMoteurs : Liste de choix Parmi 2, 3 ou 4. Valeur par défaut: 2
AVitesse : Numérique Nombre entier
Condition : > 500
Message: Sinon, pas possible de voler
AAltitude : Numérique Nombre entier
Condition : < 20 000
Message: Attention, ce n'est pas un avion
stratosphérique
ALongueur: Numérique Nombre réel
Nombre constitué de 2 chiffres obligatoires avant
et après la virgule.
AHauteur : Numérique Nombre entier
Nombre qui sera suivi de "pieds"
AEnvergure : Numérique Nombre entier
Nombre qui sera suivi de "m"
ADateService : Date/Heure Doit être postérieure au 1/1/1980
ARevisionAnnee : Oui/Non
ACompteFournisseur : Texte
APiloteResponsable : Texte On tape le nom par ex Harry
et s'affichera: Cmdt. Harry
AType Liste de choix Parmi tourisme, ligne, poste
Afficher devant: "avion de"
Solutions
ACapacite : # " psg";;; [Rouge]"à compléter"
AVitesse : Valide si: > 500
AAltitude : Valide si: < 20 000
ALongueur : Format : 00,00
AHauteur : Format : # "pieds"
AEnvergure : Format : # "m"
ADateService :Valide si: >1/1/1980
APiloteResponsable : Format ! "Cmdt. " @

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

3.2 La table T_LivreEgypte - énoncé


Enlever les valeurs par défaut des champs numériques
Numéro Clé primaire
IdLivre : automatique
LAuteur : Texte L'auteur s'affichera en rouge s'il est connu sinon il sera
affiché "auteur inconnu"
LTitre : Texte En bleu
LEditeur : Texte Devant le texte tapé s'affichera "Ed. "
LLieu : Liste de choix Parmi Paris, Londres, Bruxelles, Berlin
LAnnee : Numérique Format :
Si on rentre une valeur, celle-ci s'affichera
Si on met 0, on affichera "avant 1960"
Si on ne rentre pas de valeur, on affichera "non connue"
LISBN : Texte
LType : Liste de choix Parmi Historique, Roman, Enfant, Guide, Atlas
Valeur par défaut : Roman
LDateAchat : Date/Heure Format : Date abrégé
Valeur par défaut : Date du jour (fonction = Maintenant() ou
=Date())
LPrix : Texte Le résultat s'affiche avec le format suivant : 5410 € (en vert)

LNbPages Numérique Valide si : Le nombre de pages doit être supérieur à 0.


Afficher un message si on rentre 0 ou un nombre négatif

Notez vous-même la correction :

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

3.3 La table T_Piece – énoncé


Enlever les valeurs par défaut des champs numériques
Texte Clé primaire
IdPiece : Numéro d'identification : quatre lettres affichées en
majuscules - Masque de saisie avec 4 tirets.
PEtage : Liste de choix Parmi 1, 2, 3 ou 4.
Affichage en bleu
PAttribution : Liste de choix Parmi Cours, Bureau, Réunion, Récréation,
Toilettes.
Valeur par défaut : Cours.
PSuperficie : Numérique Réel
La donnée doit être > ou = à 10 et s'affichera avec 2
décimales (fixe) sinon on affichera un message
d'erreur.
PCouleur: Texte Valeur par défaut : blanc
PTypeSol: Liste de choix Parmi Stratifié, Vinyle, Lino, Carrelage
Valeur par défaut : Carrelage.

PFenetre : Liste de choix Parmi Double vitrage, Simple vitrage, Sécurité


Si valeur null, on affichera: "pas encodé" en
magenta
PTel : Texte Masque de saisie pour la région de Liège.
Il affiche: 04/*** ** **
PDateDisponible : Date/heure Format : jj mmmm aaaa
Valide si : >01/01/99
Message si erreur : La date doit être supérieure au
1/1/1999
PNbOrdinateur Numérique Entier
Si >0 en bleu – Si 0 en vert – Si null inconnu
PTermine : Oui/Non

PRemarque : Memo Son texte s'affichera en bleu

Notez vous-même la correction :

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

3.4 La table T_Enfant - énoncé

Notez vous-même la correction :

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

3.5 La table T_Article - énoncé

Réaliser la table suivante, choisir vous-même le type de données des champs :

Proposition pour le lieu d’achat.

3.6 La table T_Film - énoncé

Réaliser la table suivante, choisir vous-même le type de données des champs :

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

4 Contenus des tables

4.1 Table T_Avion - Contenu


Id ANom ACapa ANb AVite AAltitud ALong AHauteu AEnv ADateSer ARevi Acompte APiloteResponsable AType
Av cite Mot sse e ueur r ergure vice sionA Fournisseur
1 Airbus A-300 B 150 psg 2 943 7600 53,62 17 pieds 45 m 01/01/1990 Non Au choix Cmdt. John tourisme
2 BAC-Aerospaciale Concorde 250 psg 4 2330 16000 61,66 11 pieds 26 m 1/5/1998 Oui Cmdt. Harry tourisme
3 McDonnel Douglas DC-10 200 psg 3 917 9450 55,29 18 pieds 50 m 1/5/1998 Oui Cmdt. Smith ligne
4 Aerospaciale Caravelle 150 psg 2 812 7600 36,24 9 pieds 34 m 10/11/2013 Oui Cmdt. Papy poste
5 Tupolew TU-144 240 psg 4 2500 18000 65,20 13 pieds 29 m 24/6/2008 Non Cmdt. Smith ligne
6 Boeing 747 Sp 400 psg 4 957 10670 56,31 20 pieds 60 m 17/5/2015 Non Cmdt. Smol poste

4.2 Table T_LivreEgypte


Id LAuteur LTitre LEditeur LLieu LAnn LISBN LType LDateAch LPrix LNb
1 R.S. Antelme Rossini Les secrets de Hathor Ed. du Rocher Paris 1999 ISBN 2-268033783-3 Historique 15/02/2000 Euro-36 150
2 J. Tydesley Hatshepsout, la femme pharaon Ed. du Rocher Paris 1997 ISBN 1-234567891-2 Historique 30/03/2001 Euro-28 225
3 P.Gedge Les enfants du soleil Ed. Balland Bruxelles 1984 ISBN 1-542151775-1 Roman 10/07/2002 Euro-15 210
4 D. Macaulay Naissance d'une pyramide Ed. des 2 coqs Paris 1975 Enfant 02/05/2001 Euro-20 112
5 B. Manlay Atlas Historique de l'Egypte Ancienne d'or
Ed. Autrement Londres 1998 ISBN 4-214514512-4 Atlas 10/07/2002 Euro-0 102
6 G. Rachet Nefertiti Ed. laffont Paris 1984 Roman

4.3 Table T_Piece


IdPiec PEtag PAttribution PSuperfici PCouleur PTypeSol PFenetre PTel PDateDisponib PNbOrdin PTermine PRemarque
LPKJ 2 Réunion 45,12 Vert Stratifié Double vitrage 04 145 15 21 03 avril 2000 10 Oui Pièce très agréable
OLPM 1 Bureau 17,00 Blanc Carrelage Simple vitrage 04 254 51 52 04 février 1999 1 Non Petites réunions
LLLM 3 Toilettes 10,00 Blanc Carrelage pas encodé 21 février 2000 0 Oui Très jolies
PLMO 2 Bureau 15,00 Bleu Vinyle Double vitrage 04 754 89 54 01 février 1999 inconnu Non
SCOA 3 Cours 100,00 Beige Carrelage Simple vitrage 21 février 2000 16 Oui Machines récentes
SCOB 3 Cours 80,50 Beige Carrelage Simple vitrage 21 février 2000 18 Oui Machines plus anciennes

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

4.4 Table T_Enfant


IdEnf ENom EPrenom EDateNa E EPer EDateS EAdresse ECP EVille ETel EMedTraitan ECo EPoids ETai EVaccin ECoul EFet
0001 DELON Marine 15/03/20-- F père 7/6/20-- rue des coquelicots 7 4000 Liège 04/226 00 77 Dr. Joli 3150 g 53 OK auburn Oui
0002 JOLI Angelica 15/04/20-- F tuteur rue des Hérissons 4718 SousBois 04/267 44 16 Dr. Counasse 2700 g 48 OK auburn Non
0007 DELON Roxane 07/07/20-- F père 6/3/20-- rue des coquelicots 7 4000 Liège 04/226 00 77 Dr. Joli 2700 g 49 à compléter blond Oui
0014 MICMAC Rosetta 01/01/20-- F mère rue des tirs 4031 Redoux 04/362 95 57 Dr. Gaillet 4152 g 54 à compléter blond Non
0215 LINOTTE Nicolas 10/01/20-- M père rue du Choux Chinois 5104 Choux 04/229 12 13 Dr. Lamy 2890 g 49,5 à compléter blond Oui
1452 LINOTTE Simeon 30/01/20-- M mère 31/6/20-- 15
rue du Choux Chinois 5104 Choux 04/229 12 13 Dr. Lamy 1850 g 45 à compléter auburn Oui
1520 DONATO Charlène 07/04/20-- F père 1
27/4/20-- 15
rue des Wallons 275 4000 Liège 04/267 44 16 Dr. Counasse 3480 g 52 OK noir Non
1525 DONATO Charlène 07/04/20-- F tuteur 2
27/4/20-- rue des Wallons 275 4000 Liège 04/267 44 16 Dr. Counasse 3480 g 52 OK noir Non
3124 ROMER Nathan 30/08/20-- M mère 2 rue MatPays 8 4621 Retinne 04/358 30 49 Dr. Franco 3240 g 51 à compléter noir Oui
4521 MIRACOLI Antonia 10/01/20-- F tuteur rue des Lilas 7 4001 Mi 025510184 Dr. Lafraise 2025 g 47 à compléter blond Non
4647 LEBRUN Maxime 08/09/20-- M père rue de Visé 255 4020 Jupille 04/362 95 57 Dr. Gaillet 3420 g 51 OK brun Non
5623 ROMER Patricia 15/03/20-- F mère rue MatPays 8 4621 Retinne 04/358 30 49 Dr. Franco 3000 g 50 OK noir Oui
6666 LINOTTE Tom 31/12/20-- M mère rue du Choux Chinois 5104 Choux 04/229 12 13 Dr. Lamy 4000 g 56 à compléter blond Oui
15

Gestion de Bases de données Access 2010


Chapitre 1 - Tables Nicolas Van Hees & AL Comahire

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

Chapitre 2 - Tables et relations

1 Pourquoi plusieurs tables et des relations


Ouvrons la table T_Enfant dans la BD_Creche.

1.1 Comment connaître la crèche dans laquelle est inscrit un enfant.


1.1.1 Solution1
Ajouter un champ ECreche dans T_Enfant,
o Plaçons-y une liste déroulante avec le nom des 3 crèches que nous connaissons
comme faisant partie du réseau des crèches que nous traitons,
o Encodons pour chaque enfant la crèche ou il se trouve.
Aller plus loin: Nous désirons stocker des informations complémentaires concernant chaque
crèche comme son adresse, son numéro de tél.
o Ajoutons des champs supplémentaires ETel, EAdresseCreche,
o Remplir les 5 premiers enregistrements.
Problèmes constatés:
o Il faut retaper plusieurs fois la même information, ce qui implique une perte de
temps et surtout la multiplication des risques d'erreur,
o Si on veut ajouter une crèche supplémentaire, on est obligé d'aller modifier la liste
de choix qui fait partie de la structure interne de la table.
1.1.2 Solution2:
Créer une nouvelle table qui contiendra uniquement les informations relatives aux
crèches. Information unique pour chaque crèche. Champs nécessaires:
o IdCreche: clé primaire, numéro unique pour chaque crèche,
o CNom, CAdresse, CCP, CVille, CTel, CType (Mini, Normale, Géante).
Encoder les 3 crèches.
Problème:
Comment inscrire un enfant dans une crèche (voir en détail dans le paragraphe suivant):
Ajouter le champ IdCreche dans la T_Enfant. Ce champ est considéré comme une
clé étrangère car elle est primaire dans l'autre table. Lui affecter le type
Numérique Entier (on ne peut avoir 2 numéros automatiques en correspondance),
Aller dans les relations et réaliser la relation entre les champs IdCreche de chaque
table,
Encoder pour chaque enfant la crèche dans laquelle il se trouve. On ne stocke que
le numéro, cela nous suffit pour retrouver toutes les autres informations.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

2 Etablir une relation entre deux tables


Remarque : les relations doivent être établies avant l'encodage des données
Nous désirons établir une relation entre la table T_Creche et la table T_Enfant

2.1 Détecter le type et le sens de la relation


Dans notre cas, nous pouvons décrire cette relation de la manière suivante:
- un enfant est inscrit dans une et une seule crèche,
- une crèche peut recevoir un ou plusieurs enfant(s).
Il s'agit donc d'une relation 1 n (aussi nommée 1 plusieurs ou 1 ∞)

Table A Table B

Une relation 1 à plusieurs, vue de B

Table A Table B

Une relation 1 à plusieurs, vue de A

2.2 Créer le champ permettant d'établir la relation entre les tables


Ce champ est créé du côté n de la relation, c'est à dire dans la table T_Enfant, il sera appelé
IdCreche et stockera pour un enfant le numéro de la crèche dans laquelle il est inscrit.
• C'est un champ numérique
• Et il ne faut pas mettre de valeur par défaut de 0.
Nous devrons donc établir une relation entre:
- le champ IdCreche de la table T_Creche (champ clé primaire)
- le champ IdCreche de la table T_Enfant (champ nommé clé externe ou étrangère)

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

T_Creche T_Enfant
IdCreche
IdCreche

2.3 Etablir la relation entre les champs clés


Procédure:
- Fermer toutes les tables.
- Choisir dans Outils de base de données
Relations

- si les tables ne sont pas d'office


visibles, ajoutez-les avec le

bouton ou le menu
contextuel Afficher la table,

- Faites un glisser déplacer depuis une clé vers l'autre. La fenêtre suivante apparaît.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

- Cochons les deux premières cases concernant l'intégrité référentielle,

- La relation et le type de relation ont bien été identifiés par Access,

- cette relation pourra par la suite être supprimée – par sélection puis delete
- recréée par un glisser déplacer d'un champ à l'autre
- modifiée par double clic sur la ligne liant les 2 champs

2.4 Qu'est-ce que l'intégrité référentielle ?


L'intégrité référentielle est un système de règles que les bases de données utilisent pour
garantir que les relations entre les enregistrements dans les tables liées sont valides et que
vous n'effacez pas ou ne modifiez pas par erreur des données liées.
2.4.1 Conditions à réunir pour utiliser l'intégrité référentielle
Vous pouvez utiliser l'intégrité référentielle si toutes les conditions suivantes sont réunies :

1. le champ correspondant de la table primaire est une clé primaire ou possède un index
unique,
2. les champs liés ont le même type de données. Il existe deux exceptions : un champ
Numérotation Auto peut être lié à un champ Numérique dont la propriété TailleChamp
(FieldSize) est définie par un Entier long,
3. les deux tables appartiennent à la même base de données Microsoft Access.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

2.4.2 Règles de l'intégrité


Lorsque vous appliquez l'intégrité référentielle, vous devez observer les règles suivantes :
1. Dans le champ clé étrangère de la table liée, vous ne pouvez pas entrer une valeur qui
n'existe pas dans la clé primaire de la table primaire. Toutefois, vous pouvez entrer
une valeur de type Null dans la clé étrangère pour indiquer que les enregistrements ne
sont pas liés. Par exemple, une commande ne peut pas être attribuée à un client qui
n'existe pas, mais elle peut n'être affectée à personne en entrant une valeur de type
Null dans le champ Code client (ce qui est néanmoins assez peu logique).
2. Vous ne pouvez pas effacer un enregistrement de la table primaire si des
enregistrements correspondants existent dans une table liée. Par exemple, vous ne
pouvez pas effacer l'enregistrement d'un employé dans la table T_Employé s'il y a des
commandes affectées à celui-ci dans la table T_Commande.
3. Vous ne pouvez pas changer une valeur clé primaire dans la table primaire si cet
enregistrement possède des enregistrements liés. Par exemple, vous ne pouvez pas
changer le N° d'un employé dans la table T_Employé si des commandes lui sont
affectées dans la table T_Commande.
Si vous appliquez l'intégrité référentielle alors qu'une des règles ci-dessus n'est pas
respectée, Microsoft Access affiche un message d'erreur et n'autorise pas la modification.
2.4.3 Quelles cases cocher ?
Access permet d'appliquer les intégrités référentielles suivantes :

Mettre à jour en cascade les champs correspondants (cocher)


Si la case à cocher Mettre à jour en cascade les champs correspondants est activée, toute
modification d'un enregistrement dans la table primaire entraîne la mise à jour de la valeur
correspondante de tous les enregistrements correspondants et tous les endroits où cette valeur
apparaît (liste de choix…).
Effacer en cascade les enregistrements correspondants (ne pas cocher)
Si la case à cocher Effacer en cascade les enregistrements correspondants est activée,
toute suppression d'enregistrement dans la table primaire entraîne la suppression des
enregistrements correspondants dans la table liée.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

Par exemple, si vous supprimez une crèche, tous les enfants inscrits dans celle-ci seront
automatiquement supprimés. Cette solution ne nous parait pas recommandée, raison pour
laquelle cette case ne sera pas cochée.

2.5 Quelques exercices


1. Réaliser une liaison entre une table Répertoire et une table Fichier, on devra encoder
le nom du fichier, sa taille, sa date de création. Le répertoire devra contenir le disque
sur lequel il se trouve ainsi que son chemin complet,…
2. Réaliser une liaison entre une table Musée et une table Objet d'art, chaque objet
n'appartiendra qu'à un seul musée (nous ne considèrerons pas le cas des tablettes
babyloniennes dont les morceaux sont parfois disséminés dans plusieurs musées du
monde),
3. Réaliser une liaison entre une table Personnage et une table Epoque, nous prendrons
le cas simple où un personnage n'appartient qu'à une seule époque.
4. Réaliser une liaison entre une table Sport et une table Catégorie, un sport
n'appartiendra qu'à une seule catégorie même si, par exemple, le water polo pourrait
être classé dans les sports de ballon et les sports d'eau,
5. Réaliser une liaison entre une table Galaxie et une table Soleil,
6. Réaliser une liaison entre une table Joueur et une table Equipe, notons qu'un joueur
n'appartient qu'à une seule équipe même si on pourrait imaginer qu'on désire stocker
son parcourt dans la base (cette possibilité sera accessible dans le chapitre suivant),
7. Réaliser une liaison entre une table Propriétaire et une table Animaux. Ceci
permettra de connaître les animaux que possède une personne.
8. Réaliser une liaison entre une table Faculté et une table Section, par exemple, la
faculté des sciences contient la biologie, la chimie, la géographie,…
9. Réaliser une liaison entre une table Types de Dépenses et une table Opérations. Ceci
permettra de classer ses propres virements bancaires en loyer, nourriture, loisirs,
déplacements,…
10. Réaliser une liaison entre une table Film et une table Type de Films. Ceci permettra
de classer les films par type.
11. Réaliser une liaison entre une table Voiture et une table Type de voitures. Ceci
permettra de classer les voitures par type.
12. Réaliser une liaison entre une table Intérim et une table d’Intérimaires qui
presteraient ces intérim.
13. …

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

3 Conception de bases de données – Notions de base

3.1 Pourquoi la terminologie est-elle importante ?


La conception de bases de données a son propre ensemble de termes comme chaque
profession. Utiliser cette terminologie est important pour les raisons suivantes :
• elle est utilisée pour exprimer et définir les idées spéciales de conception d’un modèle de
bases de données relationnelles. Cette terminologie est dérivée principalement des
branches mathématiques de la théorie des ensembles et de la logique des prédicats du
premier ordre qui forme la base du modèle de bases de données relationnelles,
• elle est utilisée pour exprimer et définir le processus de conception lui-même. Un certain
nombre de termes sont utilisés pour aider à définir certains pas pendant le processus de
conception et connaître la terminologie rend ce processus plus clair et plus facile à
comprendre,
• ce vocabulaire est utilisé partout où une base de données relationnelle est discutée, dans
des publications, des cours, des magazines, des manuels de software.
Nous discutons ici de la majorité des termes mais il y en a d’autres plus spécifiques.

3.2 Termes relatifs aux valeurs


3.2.1 Donnée
Ce sont des valeurs qui sont stockées dans la BD. Elles sont statiques dans le sens où elles
restent dans le même état jusqu’à ce qu’elles soient modifiées par un quelconque processus
manuel ou automatique.
En surface, cette donnée est sans signification. On ne peut savoir ce que le chiffre 92883
représente. Nous n’avons pas de moyen de le savoir tant que la donnée n’a pas été traitée.
Exemple : George Edleman 92883 15/06/96 95.00
3.2.2 Information
C’est une donnée qui a été traitée dans le sens où elle devient significative et est utile à la
personne qui travaille avec elle.
Exemple de la donnée précédente mais traitée et transformée en information.
Eastside Medical Clinic Nom du patient : George Edleman
7743 Kingman Dr Identification : 92883
Seattle, WA 98032 Date de visite : 15/06/96
(206) 555-9982 Médecin : Daniel Chavez

L’information pourra ensuite être extraite de la base de données par l'intermédiaire d'une
requête et présentée à l'utilisateur sur un support imprimé par l'intermédiaire d'un état.
Une base de données est conçue pour fournir une information significative pour une personne
ou une organisation. Cette information peut être fournie si la donnée appropriée existe dans la
BD et est structurée de telle manière qu’elle supporte cette information.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

3.2.3 La valeur Null


Quand une valeur est manquante ou inconnue, on dit qu’elle est "null" par opposition aux
valeurs significatives 0 (dans le cas d’une valeur numérique) ou blanc (un ou plusieurs
espaces dans le cas des valeurs de texte).

IdClient CPrenom CNom CVille CRegion CPays Ventes


9001 Jeanne Eyre Seattle Washington USA 10000
9002 Shannon McLain Poulso Washington USA 0
9003 Estelle Pola Liège Belgique 3000
9004 Timothy Enny Gent Flandre Belgique
9005 Marvin Gate Washington DC USA 6700
9006 Kendra Bonni Tignes Alpes France 30
Valeurs significatives
Exemple : 0 peut exprimer l’état d’un compte bancaire à un moment donné,
Exemple : Un blanc dans le champ d’un second prénom peut signaler son absence.

Valeurs "null"
Une valeur "null" est utilisée pour représenter une valeur inconnue dans un champ (cas où
l’on ne connaît pas la région où la personne habite au moment de l’encodage des données). Il
se pourrait aussi que la personne qui a fait l’encodage ait oublié de demander l’information.

IdProduit PDescription PCategorie PPrix PQuantiteStock PTotal


70001 Cadena Accessoires 75.00
70002 Horloge cardiaque vélo 65.00 20 1300.00
70003 Tête de… Accessoires 36.00 33 1118.00
70004 Braquet Composants 23.50 16 376.00
70005 VTT Vélos 1200.00
70006 Lunettes 7.45 10 74.50
Les valeurs "null" ne peuvent être évaluées par des expressions mathématiques ou des
fonctions. Si une valeur "null" est utilisée dans ce type d’expressions, elle sera évaluée à
"null".
Exemples:
Les valeurs de la colonne "Total" ne seront calculées que lorsque la valeur "Quantité en
stock" est présente. C’est logiquement raisonnable.
L'âge d'un enfant ne sera calculé que si l'on connaît sa date de naissance.
Le résultat d’une fonction comme compte() sera null s’il est basé sur un champ qui contient
des valeurs "null". Le tableau suivant compte le nombre d’occurences de chaque catégorie.
Or certains articles n'appartenaient à aucune catégorie (ici la valeur 0 est inadéquate)

Categorie Nombre d’occurrences


0
Accessoires 2
Vélos 1
Composants 1

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

3.3 Termes relatifs à la structure


3.3.1 La table
Une table (ou relation dans la théorie de BD relationnelle) est la structure principale dans une
BD relationnelle. Elle est composée de champs et d’enregistrements dont l’ordre est sans
importance. Une table représente toujours un sujet simple, spécifique qui peut être un objet,
un événement ou une validation.
Une table qui stocke des données utilisées pour fournir de l’information est appelée une table
de données. C’est le type le plus commun et le cas des deux premiers types de tables
(objet et événement). Les données dans ces tables sont dynamiques puisqu'elles sont
manipulées (modifiées, détruites…) et traitées en information. Les utilisateurs rentrent
constamment en interaction avec ce type de tables quand ils effectuent leur travail journalier.
Ce n'est pas le cas des tables de validation qui sont beaucoup moins manipulées.

Quand une table représente un objet, elle représente quelque chose qui est tangible, comme
une personne, une place ou une chose. Un objet a un ensemble de caractéristiques qui
peuvent être stockées comme des données, qui peuvent être traitées d’une variété de manières.
Les exemples d’objets incluent les vendeurs, les acheteurs, les produits, les patients, le
matériel, les composants, les propriétés…
Voici une table qui représente un client.
IdClient Prenom Nom Ville …
9001 Jeanne Eyre Seattle …
9002 Shannon McLain Poulso …
9003 Estelle Pola Liège … enregistrements
9004 Timothy Enny Gent …
9005 Marvin Gate Washington …
9006 Kendra Bonni Tignes …

champs

Quand le sujet d’une table est un événement, il représente quelque chose qui arrive à un
moment donné spécifique dans le temps. Les faits dans le temps comme les caractéristiques
d’un objet peuvent être stockés et traités.
Les exemples d’événements incluent les transactions, les salaires, les visites, les transferts, les
réservations ou inscriptions, les locations, les commandes,…
Voici une table qui représente la visite de patients.
IdPatient DateVisite Heure Medecin PressionSanguine …
92001 05/01/96 10 :30 Hernandez 120/80 …
97002 05/01/96 13 :00 Piercy 112/74 …
99014 05/02/96 09 :30 Rolson 120/80 …
96105 05/02/96 11 :00 Hernandez 160/90 …
96203 05/02/96 14 :00 Hernandez 110/75 …
98003 05/03/96 09 :30 Rolson 120/80 …

Quand une table contient des données spécifiquement utilisées pour implémenter l’intégrité
des données, elle est appelée table de validation. Celle-ci représente habituellement des
sujets comme les noms de ville, les catégories, les codes de produits, les numéros

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

d’identification de projets. Ces données sont statiques car rarement changées. De plus, il y a
peu d’interactions directes avec l’utilisateur. Elles sont fréquemment utilisées pour valider
des valeurs qu’un utilisateur va rentrer dans une table.
Les exemples d’événements incluent les tables de tarification variable en fonction de type de
personnes, de nombre d'enfants, les tables de catégorie, de type,…
Voici une table qui représente les catégories de ce que vend un magasin de vélo
IdCategorie CNom
1000 Accessoire
2000 Vélo
3000 Vêtement
4000 Composant

3.3.2 Le champ
Le champ (ou attribut dans la théorie de BD relationnelle) est la plus petite structure dans une
BD relationnelle. Il est utilisé pour stocker des données dans la BD et représente une
caractéristique du sujet de la table dans laquelle le champ réside.

Les types de champs suivants sont à déconseiller dans les tables :


- champ multiparties, champ qui contient plus d’un type de valeurs distinctes (ici
exemple du champ Ville, état, CP),
- champ multivaleurs, champ qui contient plusieurs valeurs du même type (ici
exemple du champ CResponsables),
- champ calculé qui contient le résultat d’une concaténation d’une valeur texte
(CNomComplet) ou le résultat d’une expression mathématique (par exemple, pour des
articles, on pourrait avoir le nombre d'article et le prix d'un article et calculer le
montant du stock).
Exemple pour une table de clients.

IdClient CPrenom CNom CNomComplet Vente AvecBenef … Ville, état, CP CResponsa


bles
9001 Jeanne Eyre Jeanne Eyre 10 =[Vente]*2 … Seattle, WA, 98125 John, Sandi
9002 Shannon McLain Shannon McLain 50 =50*2 … Poulso, WA, 98370 Frits
9003 Estelle Pola Estelle Pola 80 =80*2 … Liège, Wallonie, 4000 John
9004 Timothy Enny Timothy Enny 50 =50*2 … Gent, Flandre, 9000 Frits, Sandi
9005 Marvin Gate Marvin Gate 43 =43*2 … Washington, DC, 98225 Frits, John
9006 Kendra Bonni Kendra Bonni 20 =20*2 … Alpes, France, 65400 Sandi

Champ calculé Champ multipartie Champ multivaleur


(Concaténation du nom et du prénom)

Les solutions permettant de résoudre ces problèmes sont les suivantes :


- partager en plusieurs champs les champs multiparties,
- créer une table de liaison pour les champs multivaleurs (voir plus loin),
- les calculs seront réalisés dans les requêtes, les formulaires et les états.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

3.3.3 L'enregistrement
Un enregistrement (ou tuple dans la théorie de BD relationnelle) est une structure dans une
table qui représente une instance unique du sujet de la table. Il est composé d’un ensemble
entier des champs de la table, sans tenir compte du fait que le champ contienne ou non des
valeurs.
Par exemple, Timothy Enny représente une instance unique du sujet client. L’enregistrement
Ennis est la collection totale des champs traités comme une unité. Les valeurs de ces champs
représentent des faits significatifs à propos de Enny.

IdClient CPrenom CNom CVille CRegion CCP CDateNaissance


9004 Timothy Enny Gent Flandre 9000 17/04/1970

3.3.4 La vue
Une vue est une table virtuelle qui est composée des champs d’une ou plusieurs tables de
données ou de validation. Une vue est considérée comme virtuelle car elle ne stocke pas elle-
même des données. Elle réalise ses données à partir des tables sur lesquelles elle est basée.
Elles sont habituellement implémentées par des requêtes et alimentent formulaires et états.
Voici les tables de la base :
Etudiant
IdEtudiant EPrenom ENom ETel …
60003 Zachary Erlicht 5533992 …
60928 Suzan Mc Lain 7903992 …
60765 Joe Rosales 5514993 …

Instrument
IdInstrument IdEtudiant IdType INom
11128 60003 Guitare Stratocaster
11185 60928 Trompette Ludwig Pro
11147 60765 Guitare Les Paul

Voici une vue des instruments des étudiants, elle est composée de champs extraits des deux
tables précédentes
EPrenom ENom INom
Zachary Erlicht Stratocaster
Suzan Mc Lain Ludwig Pro
Joe Rosales Les Paul

Les vues sont importantes pour au moins 2 raisons :


• elles nous permettent de visualiser des données extraites de plusieurs tables (il est
nécessaire que ces tables aient des connexions entre elles),
• elles constituent un moyen de prévenir la manipulation dans les tables par certains
utilisateurs en plaçant des protections aux endroits nécessaires.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

3.3.5 Les clés


Les clés sont des champs spéciaux qui servent des buts spécifiques dans une table. Le type de
clé détermine son utilisation dans la table.
Une clé primaire (ou primary key en anglais) est un champ qui identifie de manière unique
un enregistrement dans une table.
Une clé externe ou clé étrangère (ou foreign key en anglais) est un champ qui est utilisé pour
établir une relation entre deux de tables.

Clé
primaire
T_Agent
IdAgent APrenom ANom ADateLoc. ATel
100 Mike Hernandez …
200 Greg Piercy …
300 Catherine Ehrlich …

Clé Clé
primaire externe
T_Client
IdClient IdAgent CPrenom CNom CTel
9001 100 Stewart Jameson 553-3992
9002 100 Shannon McLain 790-3992
9003 200 Estela Pundt 551-4993

Les champs clés sont une partie très importante dans une BD relationnelle car elles aident à
établir des niveaux variés d’intégrité et elles sont utilisées pour établir des relations entre les
tables.

3.3.6 Les index


Un index est une structure utilisée pour augmenter la rapidité du traitement des données. La
manière dont il est utilisé et comment il fonctionne est strictement fonction du programme de
gestion de BD.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

3.4 Les termes relatifs aux relations


3.4.1 Les relations
Une connexion établie entre deux tables est appelée relation. Cette relation existe quand
deux tables sont connectées par une clé primaire et une clé externe ou par une table de
liaison.
Les relations sont très importantes pour l’intégrité des données car elles aident à résoudre les
problèmes de données redondantes et dupliquées. Elles fournissent aussi le moyen de définir
des vues.
Chaque relation peut être caractérisée par
- le type de relation,
- le type de participation
- le degré de participation.

T_Eleve
IdEleve EPrenom ENom ETel …
60003 Zachary Erlicht 5533992 …
60928 Suzan Mc Lain 7903992 …
60765 Joe Rosales 5514993 …

T_Inscription : inscription des étudiants au cours (table de liaison)


IdEleve IdCours
60003 900001
60003 900003
60765 900003
60928 900002
60928 900003
T_Cours
IdCours CNom IdProfesseur …
900001 Sc. Politiques 220087 …
900002 Musique 220039 …
900003 Histoire 220148 …

Diagrammes utilisés pour une table de données (1) et un sous-ensemble d’une table (2)

Nom de la table (1) Nom de la table (2)

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

3.4.2 Les types de relations


Quand 2 tables sont liées, il y a toujours un type spécifique de relation entre elles connu sous
le nom de cardinalité. Il y en a de trois types possible : un-un, un-plusieurs, plusieurs-
plusieurs.

3.4.2.1 Un-Un
Une relation 1-1 existe entre deux tables si un seul enregistrement de la première table est lié
à un seul enregistrement dans la seconde table et que un seul enregistrement de la seconde
table est lié à un seul enregistrement de la première.
Ces liaisons sont très rares.
Exemple générique d’une relation 1-1

Table A Table B

Ligne indiquant qu’1 enr. Ligne indiquant qu’1 enr.


de B est lié à 1 enr de A de A est lié à 1 enr de B

Table A Table B

Gestion des départements d'une entreprise


T_Manager T_Departement
IdManager IdDepartement
MNom IdManager
MPrenom DNom
MAdresseMail DCategorie
… DMaxStaffLevel

T_RegistreNational
IdRegNational RPrenom RNom RNationalite …
60003 Zachary Erlicht Belgique …
60928 Suzan Mc Lain Italie …
60765 Joe Rosales Belgique …

T_SantePublique
IdSante IdRegNational …
11128 60003
11185 60928
11147 60765

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

3.4.2.2 Un-Plusieurs
Une relation un à plusieurs existe dans une paire de tables si un unique enregistrement de la
première table peut être lié à un ou plusieurs enregistrements dans la seconde. Mais un
enregistrement de la seconde table ne peut être lié qu’à un enregistrement de la première.
Table A Table B

Une relation 1 à plusieurs, vue de A

Table A Table B

Une relation 1 à plusieurs, vue de B

Ligne indiquant qu’1 enr. Ligne indiquant que 1 simple enreg


de B est lié à 1 enr de A de A est lié à plusieurs enr de B

Table A Table B

Gestion des pièces de différents buildings


T_Building T_Piece
IdBuilding IdPiece
Nombre d’étages IdBuilding
Ascenceur Type de pièce
Parking dispo Tél. disponible
… Id. Cours

Un étudiant possède plusieurs instruments


IdEtudiant RPrenom RNom …
60003 Zachary Erlicht …
60928 Suzan Mc Lain …
60765 Joe Rosales …

T_Instrument
IdInstrument IdEtudiant INom …
11128 60003 Stratocaster …
11185 60003 Ludwig Pro …
11147 60765 Les Paul …

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

3.4.2.3 Plusieurs-Plusieurs
Une relation plusieurs à plusieurs existe entre 2 tables si un seul enregistrement de la première
table peut être lié à un ou plusieurs enregistrements de la seconde et si un seul enregistrement
de la seconde table peut être lié à un ou plusieurs enregistrements de la première.
Etablir une connexion directe entre ces 2 tables est difficile parce que cela va produire une
grande quantité de données redondantes dans une des tables (voir exemple plus loin). Il y a
aussi des problèmes pour insérer, mettre à jour et détruire les données dans ce type de
relation.
Une relation plusieurs à plusieurs vue de A puis vue de B
Table A Table B

Table A Table B

Ligne indiquant qu’1 enr. de B est lié Lignes indiquant que 1 simple enr
à plusieurs enr de A de A est lié à plusieurs enr de B

Table A Table B

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

T_Eleve
IdEleve EPrenom ENom ETel …
60003 Zachary Erlicht 5533992 …
60928 Suzan Mc Lain 7903992 …
60765 Joe Rosales 5514993 …

Comment montrer quel étudiant suit un cours spécifique ?


T_Cours
IdCours CNom IdInstructeur …
900001 Sc. Politiques 220087 …
900002 Musique 220039 …
900003 Histoire 220148 …

Exemples de problèmes lors de l'encodage avec les relations plusieurs à plusieurs


Solution testée
Le choix des cours est stocké dans la table des élèves. On encode un enregistrement par
inscription à un cours.
T_Eleve
IdEleve IdPrenom IdNomEleve IdCours NomCours IdInstructeur
60003 Zachary Erlicht 900001 Sc. Politiques 220097
60003 Zachary Erlicht 900002 Musique 220039
60003 Zachary Erlicht 900003 Histoire 220148
60003 Zachary Erlicht 900013 Informatique de gestion 220121
60928 Suzan Mc Lain 900001 Sc. Politiques 220097
60928 Suzan Mc Lain 900002 Musique 220039
60928 Suzan Mc Lain 900008 Biologie 220117
60866 Gregory Piercy 900100 Conception de BD 220120
60765 Joe Rosales 900013 Informatique de gestion 220121
60765 Joe Rosales 900022 Calcul avancé 220101
Problèmes :
• Champs dupliqués non nécessaires Id Cours et NomCours
• Grande quantité de données redondantes – recopiage des noms et prénoms
• Difficile d’insérer un nouvel enregistrement. Par exemple, quand on veut créer un
nouveau cours ou un nouvel élève.
• Difficultés de modifier la valeur d’un champ dupliqué. Si on a fait une faute
d'orthographe à un nom d'élève ou de cours, il faut modifier à plusieurs endroits.
• Difficulté de détruire un enregistrement. Pour les mêmes raisons.
La situation serait exactement la même si l'on tentait de stocker ces informations au niveau de
la table des cours.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

Solution choisie
Heureusement, vous ne devrez pas vous occuper de ces problèmes car nous allons apprendre
la méthode correcte qui permet d’établir une relation plusieurs à plusieurs.
Une relation plusieurs à plusieurs est établie en utilisant une TABLE DE LIAISON.
Vous créez la table de liaison en prenant une copie de la clé primaire de chaque table
impliquée dans la relation et utilisez ces clés primaires pour créer la nouvelle table de liaison.
Ensuite, vous donnez à cette table un nom évocateur qui représente la nature de la relation
entre les deux tables.
D'autres champs peuvent être ajoutés.
T_Eleve T_Cours
IdEleve T_EstInscrit IdCours
ENom IdEstInscrit CNom
EPrenom IdEleve CDescription
EAdresse IdCours IdInstructeur
… EPaye CCategorie

Points à remarquer
• La relation plusieurs à plusieurs a été dissoute, il ne reste plus une relation directe entre
les deux tables, elle a été remplacées par 2 relations 1 à plusieurs,
• La table de liaison a soit :
- une clé primaire composite composée de 2 champs (les champs clés primaires
de chacune des 2 tables),
- soit vous pouvez recréer une nouvelle clé primaire (conseillé).
• La table de liaison permet de garder les données redondantes à un niveau minimum.
Exemples
- un enfant d'une crèche peut avoir une ou plusieurs maladies et plusieurs enfants peuvent
avoir les mêmes maladies,
- des passagers qui veulent prendre des réservations pour un avion et évidemment un avion
contiendra plusieurs passagers (sauf si votre vol est annulé en raison de l’explosion du
volcan Eyjafjöll),

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

- dans le cadre de factures contenant plusieurs articles, ceux-ci peuvent être repris dans des
factures différentes,
- un malade peut prendre un ou plusieurs rendez-vous chez des médecins et un médecin
peut recevoir un ou plusieurs patients.

3.4.3 Les types de participation


On trouve deux types de participation dans une relation : obligatoire ou optionnel.
Supposons ici que nous établissions une relation entre une table A et une table B.
Si les enregistrements dans la table A doivent exister avant que n’importe quel enregistrement
puisse être entré dans la table B, la participation de la table A dans la relation est obligatoire.
Par contre, si la présence d’enregistrements dans la table A n’est pas obligatoire pour entrer
des enregistrements dans B, le degré de participation de A dans la relation est optionnel.
Chaque table de la relation peut participer de chaque manière.
T_Agent
IdAgent APrenom ANom ATel.
100 Mike Hernandez 5533992
101 Greg Piercy 7903992
102 Catherine Ehrlich 5514993
T_Client
IdClient IdAgent CPrenom CNom …
9001 100 Stewart Jameson …
9002 101 Shannon Mc Lain …
9003 102 Estela Pundt …

Considérons la relation entre la table T_Agent et la table T_Client. La table T_Agent a une
participation obligatoire dans la relation si les agents doivent exister avant qu’un nouveau
client ne soit entré dans la table client. Par contre, la participation de la table T_Agent est
optionnelle s'il n'est pas nécessaire d'avoir des agents dans la table T_Agent avant qu'un
nouveau client ne soit entré dans la table T_Client.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

Le type de participation dans la table T_Agent est déterminé par la manière dont la donnée
sera utilisée en relation avec les données de la table T_Client. Par exemple, s'il est nécessaire
de s'assurer qu'un agent est assigné à chaque client, alors, la participation de la table T_Agent
dans la relation est obligatoire.
Exemples:
o Pour inscrire un enfant dans la base de données, il faut/ou pas que la crèche,
o On peut/ne peut pas inscrire un enfant même si on n'a pas encore les informations relatives
à son tuteur.
o On peut programmer une séance de cinéma sans personne d'inscrit et des spectateurs même
s’ils ne sont pas inscrits à une séance
3.4.4 Le degré de participation
Chaque table dans une relation a un degré de participation qui est le nombre minimum et
maximum d'enregistrements dans une table qui peut être lié à un unique enregistrement dans
l’autre.
Supposons ici que nous établissons une relation entre une table A et une table B.
Le degré de participation de la table B est établi en indiquant un nombre min et max d’enreg.
dans la table B qui peuvent être liés à un enregistrement unique de la table A.
Exemple:
Dans un cours d'informatique il faudra 8 élèves minimum et 16 maximum ( 8,16 ).
Pour une séance de cinéma, en fonction de la salle, on acceptera un certain nombre de
réservations. Cette vérification sera effectuée par programme lors de chaque réservation.

Si un enregistrement de la table A peut être lié à un minimum de 1 enregistrement et à un


maximum de 10 enregistrement de la table B, alors le degré de participation de B est de 1,10
(min à gauche, max à droite).
Le degré de participation pour A est établi de la même manière.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

Considérons la table agent et client. On peut dire qu’un agent doit s’occuper d’au moins 1
client mais de pas plus de 8, on notera alors le degré de participation 1,8.
Par contre un client ne peut être assigné qu'à un seul agent, le degré de participation pour la
table agent est de 1,1.

T_Agent T_Client

1,1 1,8

3.4.5 Termes relatifs à l’intégrité.

3.4.5.1 Spécifications de champ


Une spécification de champ (ou domaine) représente tous les éléments d’un champ. Chaque
spécification de champ a trois types d'éléments : général, physique et logique.
- Un élément général d’un champ comprend les informations les plus
fondamentales à propos d’un champ d’une BD et incluent des items tels que le
nom du champ, sa description et sa table source. Si un champ est utilisé dans
plus d’une table, ces items resteront les même,
- Les éléments physiques déterminent comment un champ est construit et
comment il est représenté; ils incluent des items tels que le type de données, la
longueur et le format d’affichage,
- Les éléments logiques décrivent les valeurs stockées dans un champ, ils
incluent les items comme valeur par défaut, échelle de valeur, valide si.

3.4.5.2 Intégrité des données


L’intégrité des données se réfère à la validité, la consistance et l’adéquation des données dans
la BD. L’intégrité des données est un des aspects les plus important du processus de
conception de BD et il ne doit pas être négligé.
Quatre types d’intégrité de données seront implémentés pendant le processus de conception
de la BD. Trois types sont basés sur des aspects variés de la structure de la BD. Le quatrième
est fonction de l’organisation.
1. Niveau d’intégrité de la table :
Il assure que le champ qui identifie chaque enregistrement est unique dans la table et possède
toujours une valeur. C'est la clé primaire qui vérifie celle-ci.
2. Niveau d’intégrité du champ :
Il assure que la structure de chaque champ est correcte, que les valeurs dans chaque champ
sont valides, consistantes et adéquates et que les champs du même type sont consistants à
travers toute la BD.
3. Niveau d’intégrité de la relation (nommé intégrité référentielle) :
Il assure que les relations entre paires de tables sont correctes et qu’il y a synchronisation
entre les deux tables quand une donnée est entrée mise à jour ou détruite.
Si on supprime un client, que fait-on de ses factures?

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

4. Niveau d’intégrité « business rule » :


Ce niveau impose des restrictions ou des limitations sur certains aspects de la BD basés sur la
manière dont l’organisation perçoit et utilise ses données. Ces restrictions peuvent affecter
certains aspects de la conception de la BD comme l’échelle et le type des valeurs stockées
dans un champ, le type de participation et son degré ainsi que le type de synchronisation.
Par exemple, si on a des articles en stock à vendre, il va de soi que lorsque le stock est épuisé,
on ne peut plus vendre d'articles.
Un professeur peut donner une évaluation à un étudiant parmi une série de valeurs.

3.4.6 Eléments d’une table idéale


• Elle représente un simple sujet qui peut être un objet ou un événement,
• Elle a une clé primaire,
• Elle ne contient pas de champs multiparties,
• Elle ne contient pas de champs multivaleurs,
• Elle ne contient pas de champs calculés,
• Elle ne contient pas de champs dupliqués sans nécessité,
• Elle contient un min de données redondantes.

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

4 Les bases de données sur lesquelles nous travaillons

4.1 La BD CompagnieAerienne

4.1.1.1 Contenu de la table T_Pilote

4.1.1.2 Contenu de la table T_Avion

Compléter vous-mêmes la table T_Vol

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

4.2 La BD Reservation Salle

4.2.1.1 Contenu de la table T_Client

4.2.1.2 Contenu de la table T_Cuisinier

4.2.1.3 Contenu de la table T_Reservation

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

4.3 La BD Creche

4.3.1.1 Contenu de la table T_Enfant

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

4.3.1.2 Contenu de la table T_Creche

4.3.1.3 Contenu de la table T_Tuteur

4.3.1.4 Contenu des tables T_Maladie et T_AUneMaladie

Gestion de Bases de données Access 2010


Chapitre 2 – Tables et relations Nicolas Van Hees & AL Comahire

4.4 La BD Cours

4.4.1.1 Contenu de la table T_Etudiant et T_Local

4.4.1.2 Contenu de la table T_Cours et T_SuitUnCours

4.4.1.3 Contenu de la table T_Organisation

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

Chapitre 3 - Requêtes
1) Définition

Les requêtes sont l'outil de recherche, de sélection et de traitement de l'information.

Avec une requête, on peut :


- générer des rapports ou un formulaire.
- Alimenter les listes déroulantes.
- Modifier le contenu de la base de données : supprimer des enregistrements, créer
de nouvelles tables, modifier le contenu d'un champ, etc.

Pour créer une requête, effectuez les opérations suivantes :


- Sélectionnez le ruban Créer.
- puis Création de requête.
- Sélectionnez la (les) table(s) et cliquez sur Ajouter.
- Dès que vous avez toutes les tables, cliquez sur Fermer.

2) L’écran de définition d’une requête

Vous accédez à cet écran lorsque vous créez une nouvelle requête sur base du Mode
Création ou lorsque vous cliquez sur le bouton Modifier de l’onglet Requêtes.

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

La fenêtre du mode Création de requête se compose de deux volets :

a) Le volet des listes de champs

Dans le volet des listes de champs, vous pouvez placer les tables dont vous avez besoin
pour créer la requête. Cela se fait directement ou après.

Pour ajouter une table, il suffit :


- De sélectionner le bouton Afficher une table ou de sélectionner la
commande Ajouter une table du menu Requête.
- De sélectionner la table à ajouter
- De cliquer sur le bouton Ajouter.

b) La grille de création

C’est dans la grille de création que l’on définit les requêtes en tenant compte des remarques
suivantes :
- Chaque colonne correspond à un champ. Les champs peuvent provenir de différentes
tables.
- Un ordre de tri peut être défini pour chaque champ. Le tri est effectué de la gauche vers
la droite.
- Vous pouvez affecter à chaque champ des critères pour la requête. Plusieurs critères
peuvent être combinés. Lorsque deux critères ne sont pas sur une même ligne, ils sont
combinés à l’aide de l’opérateur logique OU.

3) Les éléments de la grille de création


a) Utilisation des champs dans la grille de sélection

Pour ajouter des champs dans la grille de sélection :


- Sélectionnez le champ à ajouter dans la liste déroulante de la ligne Champ.
OU
- Cliquez sur le nom du champ à ajouter.
- Gardez le bouton gauche enfoncé et de faire glisser le champ vers la ligne Champ.
OU
- Double-cliquez sur le nom du champ à ajouter.

Pour insérer tous les champs dans la grille de sélection :


- double-cliquez sur l’étoile (*) de la table dont vous désirez tous les champs. Un seul
champ est occupé, mais tous apparaîtront dans la requête lorsque celle-ci sera
exécutée. Mais il n’est pas possible de définir des critères pour chaque champ
individuellement.

Pour déplacer un champ dans la grille de création :


- Cliquez sur le rectangle au-dessus du nom du champ à déplacer.

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

- Gardez le bouton enfoncé et de faire glisser le champ à la place voulue.

Pour effacer un champ dans la grille de sélection :


- Cliquez sur le rectangle au-dessus du nom du champ à déplacer.
- Appuyez sur la touche Suppr.

b) Renommer un champ dans la grille de sélection

Vous pouvez renommer les champs d’une requête pour améliorer la lisibilité d’un résultat de
requêtes dans une feuille de réponses. Les nouveaux noms apparaissent comme des titres.

Pour renommer un champ dans la feuille de réponses :


- Ouvrez la requête en mode création.
- Cliquez dans la ligne Champ à gauche de la 1ère lettre du nom de champ à renommer.
- Encodez le nouveau nom suivi par deux points. Référence article : Référence.

c) Ne pas afficher certains champs dans la feuille de réponse

Vous pouvez avoir besoin d’un champ dans la requête que vous ne désirez pas voir afficher
dans sa feuille de réponses (champ nécessaire pour une relation, un calcul, un tri,…).

Pour ne pas afficher un champ dans une requête :


- Ouvrez la requête en mode création.
- Désactivez la case à cocher Afficher du champ à masquer.

d) Tri

Vous pouvez organiser le résultat d'une requête en le triant.

Access permet de définir un ordre de tri sur plusieurs champs. Le champ trié en premier est
toujours celui qui se trouve le plus à gauche. Il est donc important de ranger de gauche à
droite les champs à trier dans la grille de création.

e) Critères de sélection

Les critères de sélection servent à filtrer les enregistrements pour afficher seulement celles
dont vous avez besoin en utilisant des opérateurs.

Pour définir un critère dans une requête :


- Ouvrez la requête en mode création.
- Cliquez sur la première cellule Critères du champ pour lequel vous voulez les définir.
- Taper l’expression du critère ou d’utiliser le Générateur d’expression.

Lorsque vous tapez des expressions dans plusieurs cellules Critères, Access les combine à
l'aide de l'opérateur Et ou OU.

Les critères placés sur la même ligne sont combinés à l'aide de l'opérateur Et (seuls les
enregistrements satisfaisant aux critères sélectionnés seront affichés).

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

Cette requête sélectionne toutes les filles de la crèche Magnolia.

Si les critères se trouvent dans des lignes différentes, Access utilise l'opérateur Ou. Dans ce
cas, les enregistrements satisfaisant à au moins un des critères seront retournés.

Cette requête recherche tous les enfants qui sont à la crèche Magnolia ou qui ont un prénom
qui commence par a.

On peut utiliser les opérateurs suivants pour la création de critères de sélection :

Opérateur Signification
= Egal
<> Différent
< Inférieur
> Supérieur
<= Inférieur ou égal
>= Supérieur ou égal

Access met à notre disposition d'autres opérateurs :

Opérateur Signification Exemple


Entre Sélectionne les enregistrements pour lesquels Entre "A" et "C"
la valeur d'un champ est comprise dans un Entre 10 et 20
intervalle de valeurs Entre #01/01/2000#
et #31/12/2000#
Est Sélectionne les enregistrements pour lesquels Est NULL

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

un champ est vide ou non Est Pas NULL


Comme Sélectionne les enregistrements contenant une Comme "C*"
donnée approximative
Pas Sélectionne les enregistrements ne Pas entre "A" et "C"
correspondant pas au critère

4) Les requêtes multi-tables

Lorsque vous effectuez une requête sur plusieurs tables, il faut respecter les deux règles
suivantes :

- Toutes les tables intervenant dans la requête doivent être reliées entre elles, il ne doit
pas y avoir de tables isolées, sinon Access prend toutes les données de toutes les
tables.
- Il ne doit pas y avoir de tables n'ayant rien à faire dans la requête, sinon Access va se
baser sur les relations entre ces tables n'ayant rien à voir entre elles et va donner des
résultats erronés.

En résumé, toutes les tables nécessaires, mais pas plus.

5) Les requêtes paramétrées


Une requête paramétrée est une requête qui, lors de son exécution, affiche une boîte de
dialogue qui vous invite à lui transmettre des informations

Le paramètre doit être spécifié comme un message d'invité entre crochets. Cette indication
suffit à Access pour qu'il crée une requête paramétrée. De plus, vous pouvez définir
plusieurs paramètres à une même requête.

Cette requête va afficher la sélection des enfants selon leur sexe et leur taille.

6) Les requêtes avec calcul


Une table ne contient pas de champs calculés, c’est grâce aux requêtes que vous allez
effectuer ces calculs. Le champ calculé sera inséré dans une des colonnes de la ligne
Champ.

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

a) Champ calculé

Un champ calculé se compose de 2 parties :


• le nom que vous souhaitez donner au calcul, suivi du signe "deux-points". Ce nom
sera celui de la colonne, dans le résultat final.
• le calcul proprement dit. Un calcul est composé de signes (+, -, *, /) et de noms de
champs, écrits entre crochets.

Il faut tenir compte des éléments suivants :


• Dans un calcul, un nom de champ doit être écrit entre crochets.
• Le nom du champ doit respecter la casse (même orthographe) que le champ figurant
dans la table, espaces compris.
• Les calculs respectent les règles de priorité. A savoir : les parenthèses sont traitées
en premier; suivent les produits et divisions, puis les additions et soustractions.

Dans cet exemple, le champ calculé est le suivant :

TaillePrevue :[ETailleNais]*1,5

Si le calcul est trop long, il peut être difficile à lire. Vous pouvez alors agrandir la colonne en
déplaçant sa limite droite ou utiliser le zoom.

Pour accéder au zoom :


- Faites un clic-droit sur le calcul.
- Sélectionnez l’option Zoom.

b) Champ calculé et fonctions

Access possède des fonctions prédéfinies pour vous aider à réaliser des requêtes
complexes. Celles-ci peuvent être gérées par le générateur d'expression.

Pour accéder au générateur d’expressions :

- Cliquez sur l'icône de la barre d'outils requête.


Ou
- Appuyez sur la combinaison de touches Ctrl+F2

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

Pour voir la liste des fonctions:


- Double-cliquez sur le dossier Fonctions situé dans la première colonne de la fenêtre.
- Cliquez sur le dossier Fonctions intégrées.
- Le contenu de la deuxième et la troisième colonne vont se remplir. La deuxième
colonne contient la liste des catégories de fonctions. La troisième colonne contient la
liste des fonctions disponibles.

Pour avoir plus d’informations sur l’une des fonctions :


- Cliquez sur la fonction qui vous intéresse.
- Appuyez sur le bouton Aide.

c) Les fonctions de regroupement – ligne opération

La fonction de regroupement est un


outil de synthèse. Son rôle est de
compter des enregistrements,
d'additionner des valeurs, de
calculer des moyennes. Un
regroupement répond à des
interrogations du type "Calculer le
nombre d’enfants par crèche et leur
taille moyenne ? ».

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

Pour ajouter les fonctions de regroupement il suffit de :


- de cliquer sur le bouton Opération de la barre d'outils

Voici la liste des opérations :

Opérations Description
Regroupement Regrouper sur le champ
Somme Trouver la somme d'un regroupement d'enregistrements. Seulement pour un
champ de type numérique ou monétaire
Moyenne Trouver la moyenne d'un regroupement d'enregistrements. Seulement pour
un champ de type numérique ou monétaire
Min Trouve la plus petite valeur pour un champ
Max Trouve la plus grande valeur pour un champ
Compte Compte le nombre d'enregistrements qui correspondent aux critères voulus
EcartType Trouver l'écart type d'un regroupement d'enregistrements. Seulement pour
un champ de type numérique ou monétaire
Var Trouver la variance d'un regroupement d'enregistrements. Seulement pour
un champ de type numérique ou monétaire
Premier Trouver le premier enregistrement inscrit dans la table qui repend aux
critères demandés
Dernier Trouver le dernier enregistrement inscrit dans la table qui répond aux
critères demandés
Expression Entrer ses propres formules ou champs calculés pour un regroupement
Où Entrer des critères sans qu'ils soient pris en considération pour le
regroupement

Voici une liste des opérations et sur quel type de champs ils peuvent s'appliquer :

Opérations Texte Mémo Numérique OLE


Date/Heure
Monétaire
NuméroAuto
Oui/Non
Somme X
Moyenne X
Min X X
Max X X
Compte X X X X
Écartype X
Var X
Premier X X X X
Dernier X X X X

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

7) Exercices sur la BD Creche


a) Requêtes à 1 condition sur la BD crèche
R1. Sélectionner toutes les filles
R2. Sélectionner tous les enfants blonds
R3. Sélectionner les enfants dont le champ vaccin doit être complété
R4. Sélectionner les enfants habitant à Liège
R5. Sélectionner les enfants n’habitant pas à Liège
R6. Sélectionner les enfants qui ont des frères et sœurs
R7. Sélectionner les maladies qui provoquent plus de 5 jours d'absence
R8. Sélectionner les enfants qui ont un poids de naissance supérieur à 3500 g.
Classez-les par poids décroissant.
R9. Sélectionner les enfants dont le nom commence par L
R10. Sélectionner les enfants nés au mois de septembre
R11. Sélectionner les enfants dont le prénom se termine par e

b) Requêtes à plusieurs conditions


S1. Sélectionner les enfants qui ont des cheveux noirs ou auburn.
S2. Sélectionner les filles dont la couleur de cheveux est auburn
S3. Sélectionner les filles nées après le 1 janvier 2000
S4. Sélectionner les garçons dont le nom commence par L ou par une lettre plus loin dans
l'alphabet
S5. Sélectionner les enfants dont la taille est égale à 48 ou à 50 cm
S6. Sélectionner les garçons dont la taille est égale à 48 ou à 50 ou à 51 cm
S7. Sélectionner les maladies de plus de 5 jours d'absence dont le nom se termine par ole
(par ordre croissant des noms de maladie)
S8. Sélectionner les filles habitant une rue qui contient "wa" ou qui contient "des"
S9. Sélectionner les garçons dont le poids est compris entre 2,5 et 3 kg
S10. Sélectionner les filles habitant à Liège et dont le prénom commence par R ou M et qui
pèsent moins de 3 kg.

c) Requêtes sur plusieurs tables


T1. Sélectionner la liste des crèches (triées par ordre alphabétique) avec pour chaque
crèche la liste des enfants qui y sont inscrits
T2. Sélectionner les enfants dont le père est Philippe Romer et indiquer dans quelle crèche
ils sont inscrits (classez-les du plus petit en âge au plus grand).
T3. Sélectionner les enfants de la crèche du Laveu
T4. Sélectionner les enfants qui ont eu la varicelle
T5. Sélectionner les enfants qui ont eu la varicelle après le 3/4/2000
T6. Sélectionner les enfants qui ont eu une maladie de plus de 6 jours ou dont le nom de la
maladie commence par g
T7. Sélectionner les filles de la crèche du Magnolia
T8.Sélectionner les enfants qui ont eu la varicelle ou la rubéole avant le 1/8/00
T9. Sélectionner les filles des crèches de Laveu ou Opéra nés après le 1/2/2000

d) Requêtes paramétrées
U1. Sélectionner les enfants avec un paramètre sur le sexe de l'enfant.
U2. Sélectionner les enfants avec un paramètre sur le nom de la crèche.
U3. Sélectionner les enfants avec un paramètre sur la date de naissance de celui-ci. Cette
requête extrait tous les enfants nés après cette date.
U4. Sélectionner les enfants avec un paramètre permettant d'introduire une partie de nom
d'une maladie qui a été attrapée par au moins un enfant.
Comme "*" & [Entrez une partie de nom de maladie] & "*"

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

U5. Sélectionner les enfants avec un paramètre sur leur taille.


U6. Sélectionner les enfants avec un paramètre sur une partie du nom du tuteur.
U7. Sélectionner les enfants avec un paramètre sur leur sexe et sur leur taille.
U8. Sélectionner les enfants avec un paramètre sur leur nom. On affichera les maladies
qu'ils ont déjà eues.
U9. Sélectionner pour une crèche choisie en paramètre (on peut entrer une partie du nom de
celle-ci) et une partie du nom de maladie choisie en second paramètre, la liste des enfants
qui ont eu cette maladie.

e) Requêtes avec calcul – nouveau champ - fonctions


V1. Calculer pour chaque enfant la taille prévue à 6 mois puis le faire pour les filles
TaillePrevue: [ETailleNais]*1,5

V2. Calculer le prix de la journée dans chaque crèche TVA comprise (ex de TVA:12%)
PrixTVAC: [CPrixJournee]+[CPrixJournee]*12/100

V3. Calculer la journée dans chaque crèche TVA C. TVA demandée comme paramètre.
AvecTVA: [CPrixJournee]*[Entrez la TVA]/100+[CPrixJournee]

V4. Calculer la date à laquelle l'enfant aura 3 mois.


TroisMois: AjDate("m";3;[EDateNais]) Essayer avec m ou j ou aaaa

V5. Calculer la date de retour de maladie à partir de la date du début de celle-ci


Retour: [ADate]+[MTemps]

V6. Calculer la date de retour de maladie sur paramètre du nom de l’enfant classé par ordre
croissant de date.

V7. Avec la fonction IIf, affichez


bénigne pour les maladies de moins
de 5 jours et grave pour celles de
plus de 5 jours.

Classement:
IIf([Mtemps]>5;"grave";"bénigne")

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

V7bis. Si les enfants sont sortis


de la crèche, affichez enfant
sorti sinon rien.

V7ter. Si le prix de la journée d’une crèche est >30, affichez crèche chère sinon
affichez crèche bon marché.

V8. Avec la même fonction, affichez "Léger Bébé" si le rapport du poids de naissance
à la taille est <50, "Bébé normal" s'il est compris entre 50 et 70 et "Gros bébé s'il est
supérieur à 70. Nommez ce nouveau champ TypeBébé
Rapport: [EPoidsNais]/[ETailleNais]
TypeBébé: VraiFaux(([EPoidsNais]/[ETailleNais])<50;"Léger
bébé";VraiFaux(([EPoidsNais]/[ETailleNais])<70;"Bébé normal";"Gros bébé"))

V9.Créer un nouveau champ contenant le nom complet de l’enfant(Nom concaténé avec


prénom)
Nom_Complet: [ENom] & " " & [EPrenom]
Nom_Complet2: [ENom]+" "+[EPrenom]

V10. Créer un nouveau champ qui contient le nom + initiale du prénom de l’enfant.
Phase 1: Initiale_prenom: ExtracChaîne([EPrenom];1;1)
Phase complète : Nom_InitPrenom: [ENom] & " " & ExtracChaîne([EPrenom];1;1) & "."

V11. Créer un nouvel Id qui extrait les 2 premières lettres du nom, la troisième lettre du
prénom et les 2 derniers chiffres de la date de naissance
NouvelId: ExtracChaîne([ENom];1;2) &
ExtracChaîne([EPrenom];3;1) &
Droite([EDatenais];2)

V12. Faites une requête qui permet


d’afficher l’année de naissance des
enfants.
Fonction Année

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

V12. Calculer l'âge (en jours) que l'enfant aura en rentrant à la crèche
AgeJours: [EDateEntree]-[EDateNais]

f) Requêtes avec calcul – ligne opération


W1. Moyenne des poids de naissance

Champ :EPoidsNais : Opération : Moyenne


Propriétés du champ : Décimales: 1 aller dans format fixe puis
choisir 1 décimale

W2. Compter le nombre de filles et de garçons


champ: ESexe – Regroupement ESexe : Opération: Compte

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

W3. Obtenir le poids du plus gros enfant pour chaque crèche


Champs : CNom – EPoidsNais : Opération: Max

W4. Calculer le nombre d'enfants par crèche et leur taille moyenne


Champs : CNom – IdEnfant : Compte – ETailleNais : Moyenne

W5. Calculer le nombre d'enfants qui ont eu une maladie


Champs : IdMaladie(T_Maladie) - MNom(T_Maladie) - IdEnfant(T_Enfant) : Compte - Décrois

W6. Calculer le nombre d'enfants qui ont eu une maladie avec paramètre sur le nom de la
maladie
Champs : IdEnfant : Compte - MNom [Entrez une maladie]

W7. Compter le nombre d'enfants par tuteur


Champs : IdTuteur - TNom - TPrenom - IdEnfant Compte

g) Divers
X1 – Rechercher les 3 plus gros enfants (Champ : IdEnfant,Nom,Prénom (Enfant) - Champ :
PoidNais (Enfant) Décroissant -Propriétés :Premières valeurs :3)

X2 - Rechercher tous les enfants qui ont le même nom et prénom. (prendre l'assistant
requête - Assistant requête trouver les doublons)

X3 - Rechercher toutes les villes ou l'on trouve au moins 2 enfants et afficher le nom de
ceux-ci.

h) Exercices complémentaires
R10. Liste des enfants nés en septembre
R11. Sélectionner les enfants habitant une rue commençant par W
R12. Sélectionner les enfants nés en 99
R13. Sélectionner les enfants aux cheveux noirs
R14. Sélectionner les enfants dont le nom se termine par e
R15. Sélectionner les garçons
S10. Sélectionner les enfants dont le médecin traitant est Lamy et dont le rang est 1.
S11. Sélectionner les filles dont la taille est comprise entre 50 et 55 cm
S12. Sélectionner les filles habitant Liège et dont le prénom commence par R ou S et qui
pèsent moins de 4 kg
S13. Sélectionner les filles dont le poids =2700 et dont le prénom contient a
S14. Sélectionner les enfants habitant depuis le 4000 jusqu'au 4032.
T8. Sélectionner les enfants dont le tuteur resp est célibataire
T9. Sélectionner les garçons de la crèche du Laveu qui ont eu la varicelle.
T10. Sélectionner les garçons qui ont eu une maladie qui se termine par ole
T11. Sélectionner les garçons dont le père est Romer Philippe et indiquer la crèche ou ils
sont.
T12. Sélectionner les garçons des crèches de Jupille et Opéra nés après le 1/2/2000

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

Requêtes sur la T_Piece

R1. Sélectionner toutes les pièces où il y a du carrelage


R2. Sélectionner toutes les pièces qui ont du simple vitrage
R3. Sélectionner les pièces non terminées
R4. Sélectionner les pièces du deuxième étage
R5. Sélectionner les pièces qui ne sont pas au deuxième étage
R6. Sélectionner les pièces dont la taille est supérieure à 13 mètres carré.
R7. Sélectionner les pièces qui contiennent des ordinateurs
R8. Sélectionner les pièces disponibles depuis le 1/9/2010.
R9. Sélectionner les pièces de bureau, classez les par ordre décroissant de taille.
R10. Sélectionner les pièces dont le nom commence par L
R10. Sélectionner les pièces dont la superficie contient un 2
R11. Sélectionner les pièces dont l’attribution se termine par n.

8) Exercices sur la BD Cours


a) Requêtes à une condition
R1. Sélectionner les garçons.
R2. Afficher le nom et prénom de tous les élèves classés par ordre alphabétique de nom.
R3. Sélectionner les étudiants dont le nom commence par P.
R4. Sélectionner les cours de 40 heures.
R5. Sélectionner les locaux du 6ème étage.
R6. Sélectionner les cours de niveau2.
R7. Sélectionner les cours de Word.
R8. Sélectionner les salles de cours qui ont au moins 10 machines.
R9. Sélectionner les organisations qui commencent après le mois d'octobre 2000.

b) Requêtes à plusieurs conditions


S1. Sélectionner les filles dont le prénom commence par A
S2. Sélectionner le prof dont le nom commence par H ou le prénom par F.
S3. Sélectionner les cours d’au moins de 80 heures et qui contiennent ss.
S4. Sélectionner les cours de 60 h ou ceux dont le prix est de 25 euros
S5. Sélectionner les locaux du deuxième étage et qui ont 10 machines
S6. Sélectionner les locaux du deuxième étage ou qui ont 10 machines
S7. Sélectionner les organisations qui ont commencé au mois d'octobre et se donnent le
jeudi AM

c) Requêtes sur plusieurs tables


T1.Sélectionner les organisations qui ont commencé au mois d'octobre et se donnent le jeudi
AM, afficher en plus le nom des cours donnés et leur nombre d'heures
T2. Afficher la liste des cours organisés et le nom et prénom du prof qui donne ces cours
T3. Sélectionner les professeurs qui donnent cours le mardi matin et afficher les intitulés de
ces cours
T4. Afficher la liste des noms des cours et les noms et prénoms de tous les étudiants qui y
sont inscrits.
T5. Sélectionner tous les étudiants inscrits à l'organisation 1 et afficher le nom de ce cours.
T6. Afficher la liste des cours organisés, leur local et le nombre de machines dans celui-ci.
T7. Afficher pour chaque étudiant la liste des noms des cours auxquels il est inscrit et le local
ou se donne ce cours. Classement par ordre alphabétique des étudiants.
T8. Sélectionner les profs qui donnent cours au 217 et le jour ou ils y donnent cours.

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

d) Requêtes paramétrées
U1. Sélectionner les étudiants avec un paramètre sur le sexe.
U2. Sélectionner les cours avec un paramètre sur le local.
U3. Sélectionner les étudiants suivant un certain cours avec un paramètre sur le nom du
cours.
U4. Sélectionner les étudiants suivant un certain cours avec un paramètre sur une partie du
nom du cours.
U5. Sélectionner les cours donnés par un prof avec un paramètre sur le nom du prof.
U6. Sélectionner les cours donnés par un prof avec un paramètre sur le nom et un
paramètre sur le prénom du prof.
U7. Sélectionner les cours organisés avec un paramètre sur le jour ou ceux-ci sont donnés.
U8. Sélectionner les étudiants avec un paramètre sur partie du nom de ceux-ci
U9. Sélectionner les cours avec un paramètre sur partie du nom de ceux-ci
U10. Sélectionner les étudiants avec un paramètre sur leur numéro. On affichera les cours
qu'ils suivent

e) Requêtes avec calcul – nouveau champ - fonctions


V1. Calculer pour chaque cours le prix pour les étudiants avec réduction (CPrix/2)
Exercice : afficher le prix des cours en €
V2. Calculer le prix de chaque cours TVA Comprise (ex de TVA:15%)
PrixTVAC:[CPrix]+[CPrix]*15/100
V3. Calculer le prix de chaque cours TVA Comprise. TVA demandée comme paramètre.
V4. Calculer la date de fin de chaque formation sachant qu'il faut ajouter 65 jours à la date
de début
AjDate("j";65;[ODate]) m ou j ou aaaa
V5. Calculer depuis combien de temps les cours ont commencé
Maintenant()-[ODate]
V6. Avec la fonction VraiFaux, affichez formation longue pour les cours de >60h , formation
courte pour les autres
V6 bis. Avec la fonction VraiFaux, affichez formation longue pour les cours de >60h ,
formation moyenne pour ceux de plus de 40 h et formation courte pour un nombre d'heures
inférieur
V7.Créer un nouveau champ contenant le nom complet de chaque professeur(Nom
concaténé avec prénom et espace entre les deux)
Nom_Complet: [PNom] & " " & [PPrenom]
V8. Créer un nouveau champ à partir des données de l'étudiant qui contient les 3ème et 4ème
lettres du nom + initiale du prénom + le sexe
Code: ExtracChaîne([ENom];3,2) & ExtracChaîne([EPrenom];1;1) & [ESexe]

V9. Calculer l'âge actuel de chaque étudiant (problème à vérifier)


AgeActuel: Maintenant()-[EDateNais]
Aller modifier le format dans les propriétés du champ et mettre: aa" ans "mm" mois"

f) Requêtes avec calcul – ligne opération


W1. Moyenne des prix des cours
(Champ :CPrix – Opération : Moyenne – Pour mettre un nombre de décimales désiré:
Propriétés du champ : format fixe puis choisir le nombre de décimales)
W2. Moyenne des prix pour les cours par nombre d'heures
(Champ: CHeure Regroupement– Champ: CPrix – Opération: Moyenne)
W3. Trouver le nombre max d'ordinateurs par étage dans un local quelconque
(Champ: LEtage Regroupement– Champ: LNbMachines – Opération: Max)
W4. Compter le nombre de filles et de garçons.
(Champ : ESexe Regroupement– Champ : ESexe Compte)
W5. Compter le nombre d'organisation par local
(Champ : IdLocal Regroupement – Champ : IdOrganisation Compte)

Gestion de Bases de données Access 2010


Chapitre 3 – Requêtes Nicolas Van Hees & AL Comahire

W6. Nombre d'étudiants par organisation et nom de cette organisation.


(Champ : IdOrganisation Regroupement– Champ CNom Regroupement Champ IdEtudiant
Compte)
W7. Nombre de cours suivis par chaque étudiant avec un paramètre sur le nom de l'étudiant
(Champ : Champ: IdEtudiant Regroupement– Champ: ENom Regroupement– Champ:
EPrenom Regroupement Champ IdOrganisation Compte)
Changer l'intitulé du nouveau champ en allant dans les propriétés du champ et en mettant
dans la légende: NbCours suivis

g) Divers
X1-Trouver les 3 cours les plus chers
(Champs : IdCours, CNom, - Champ : CPrix Décroissant -Propriétés de la requête: cliquer
dans la zone grise à coté des tables - Premières valeurs :3)
X2-Rechercher les doublons pour les professeurs(tous ceux qui ont le même nom)
X3-Rechercher les doublons pour les cours de même nombre d'heures

Gestion de Bases de données Access 2010


Chapitre 4 – Les formulaires Nicolas Van Hees & AL Comahire

Chapitre 4 - Formulaires– Partie 1


1 La BD Creche
1.1 Structure de la base de données

Refaire les relations entre les tables

Gestion de Bases de données Access 2010


Chapitre 4 – Les formulaires Nicolas Van Hees & AL Comahire

1.2 Rôle et fonctionnement des formulaires


Ils servent
- à encoder de nouvelles données,
- à modifier des données qui existent déjà,
- à consulter des données provenant éventuellement de plusieurs tables,
- à afficher des données résultats de calculs sur différents champs.

Les formulaires sont des interfaces entre les tables et l'utilisateur.


Ils lisent les données dans les tables mais ne sont que des coquilles vides.

Deux types de personnes travailleront avec Access :


• Le concepteur s'occupe de la création et de la liaison des tables entre elles.
• L'utilisateur n'a pas accès aux tables ni aux relations. Il ne voit que la base de données
via les formulaires et les états. Souvent il n'a aucune idée de la manière dont les
données sont organisées dans les tables.

Formulaires Etats

Utilisateur

Concepteur

Table X Table Y Table Z

Quand on écrit une donnée dans un formulaire, elle est transférée dans la table:
• Quand on passe à un autre enregistrement
• Quand on ferme le formulaire
• Quand on clique sur un bouton enregistrer

Gestion de Bases de données Access 2010


Chapitre 4 – Les formulaires Nicolas Van Hees & AL Comahire

1.3 Avec l'assistant formulaire.


Ruban - Créer - Plus de formulaires - Assistant formulaire.

1. Faire un formulaire avec l'assistant formulaire pour la table T_Creche.


Nom: F_Creche.

Colonne simple

2. Faire un formulaire avec l'assistant formulaire pour la table T_Enfant.


Nom: F_Enfant

3. Faire un formulaire avec l'assistant formulaire pour la table T_Maladie.


Nom: F_Maladie

Tabulaire

4. Faire un formulaire avec l'assistant formulaire pour la table T_Tuteur.


Nom: F_Tuteur

Gestion de Bases de données Access 2010


Chapitre 4 – Les formulaires Nicolas Van Hees & AL Comahire

Encoder les données suivantes par l'intermédiaire de vos nouveaux formulaires:


Attention, l'ordre d'encodage est important. On ne peut encoder un enfant dans une crèche qui
n'existe pas encore.
Dans F_Creche : Les Petits Bouts, rue des Petits bouts, 04/5145454, 20 euros…
Dans F_Tuteur : Minos Ariane célibataire
Dans F_Enfant : 2222 Minos Vanessa, 4/3/2000 dans la crèche Les Petits Bouts son tuteur
est Minos Ariane…
Dans F_Maladie : Malaria, 40 jours d'absence.

1.4 Formulaires avec sous-formulaire ou formulaire attaché


Ces types de formulaires permettent de visualiser de données provenant de plusieurs tables.
Ils permettent de voir de manière beaucoup plus agréable des données tirées des liaisons 1 à
plusieurs.

Formulaire principal 1

-----------------------------
----------Sous-formulaire
----------------------------- N

Exemples:
1. Pour un tuteur, on affichera la liste des enfants dont il est responsable
2. Pour une crèche, on affichera la liste des enfants qui y sont inscrits
3. Pour une maladie, on affichera la liste des enfants qui l'ont attrapée
4. Pour un enfant, on affichera la liste des maladies qu'il a eues

1. Pour un étudiant, on affichera la liste des cours auxquels il est inscrit


2. Pour un cours, on affichera la liste des étudiants qui y sont inscrits
3. Pour un professeur, on affichera la liste des cours qu'il donne
4. Pour un local, on affichera la liste des occupations

Gestion de Bases de données Access 2010


Chapitre 4 – Les formulaires Nicolas Van Hees & AL Comahire

On dit que deux formulaires sont synchronisés:


• c'est à dire que quand on change d'enregistrement dans le formulaire principal (par
exemple, on change de tuteur),
• le sous-formulaire est automatiquement mis à jour pour présenter les enregistrements
correspondants (on présente les enfants du tuteur affiché).

Un champ dans chaque form (propriétés de FS_TuteurEnfant) permet de faire ce lien.


Dans le formulaire principal, il est nommé : champ père
Dans le sous-formulaire, il est nommé : champ fils
Le champ fils doit suivre les valeurs du champ père
Ces champs sont ceux qui font les liens entre les 2 tables.

1.4.1 Formulaire avec sous formulaire


1.4.1.1 Exemple1
Pour obtenir pour chaque tuteur la liste des enfants dont il est responsable.
L'important est de sélectionner les tables et les champs adéquats.
Formulaire principal nommé : FP_TuteurEnfant
Sous formulaire (ou formulaire secondaire) nommé : FS_TuteurEnfant
Champ père: IdTuteur dans la table T_Tuteur
Champ fils: IdTuteur dans la table T_Enfant

Lancer l’assistant formulaire :


Base : table T_Tuteur – Champs: IdTuteur, TNom, TPrenom
Base : table T_Enfant – Champ: IdEnfant, ENom, EPrenom, IdTuteur
Formulaire avec sous-formulaire, tabulaire puis donner les noms spécifiés ci-dessus

Gestion de Bases de données Access 2010


Chapitre 4 – Les formulaires Nicolas Van Hees & AL Comahire

1.4.1.2 Exemple2
Pour une crèche, on affichera la liste des enfants qui y sont inscrits
Formulaire principal nommé : FP_CrecheEnfant
Sous formulaire nommé : FS_CrecheEnfant
Champ père: IdCreche dans la table T_Creche
Champ fils: IdCreche dans la table T_Enfant

Lancer l’assistant formulaire :


Base : table T_Creche – Champs: IdCreche, CNom,
Base : table T_Enfant – Champ: IdEnfant, ENom, EPrenom, IdCreche
Formulaire avec sous-formulaire, feuille de données puis donner les noms spécifiés.

1.4.1.3 Exemple3
Pour une maladie, on affichera la liste des enfants qui l'ont attrapée.
Formulaire principal nommé : FP_MaladieEnfant
Sous formulaire nommé : FS_MaladieEnfant
Champ père: IdMaladie dans la table T_Maladie
Champ fils: IdMaladie dans la table T_AUneMaladie

Lancer l’assistant formulaire :


Base : table T_Maladie – Champs: IdMaladie, MNom, MTemps
Base : table T_AUneMaladie – Champs: IdMaladie, IdEnfant, ADate
Base : table T_Enfant – Champs : ENom, EPrenom

On peut encoder dans ce formulaire, c'est à dire spécifier qu'un enfant a attrapé une maladie.

Gestion de Bases de données Access 2010


Chapitre 4 – Les formulaires Nicolas Van Hees & AL Comahire

On devra, manuellement pour le moment spécifier un numéro d'enfant et inscrire la date de la


maladie, le reste (nom, prénom…) s'inscrira automatiquement.
Ces données seront inscrites dans la table T_AUneMaladie

1.4.1.4 Exemple4
Pour un enfant, on affichera la liste des maladies qu'il a eues
Formulaire principal nommé : FP_EnfantMaladie
Sous formulaire nommé : FS_EnfantMaladie
Champ père: IdEnfant
Champ fils: IdEnfant dans la table T_AUneMaladie
Lancer l’assistant formulaire :
Base : table T_Enfant – Champs: IdEnfant, ENom, EPrenom
Base : table T_AUneMaladie – Champs: IdMaladie, IdEnfant, ADate
Base : table T_Maladie – Champs : MNom, MTemps

On peut encoder dans ce formulaire, c'est à dire spécifier qu'un enfant a attrapé une maladie.
On devra sélectionner une maladie dans la colonne AIdMaladie par la liste de choix et inscrire
la date de la maladie, le reste (nom, temps…) s'inscriront automatiquement.
Ces données seront inscrites dans la table T_AuneMaladie

Gestion de Bases de données Access 2010


Chapitre 4 – Les formulaires Nicolas Van Hees & AL Comahire

1.4.2 Formulaire avec formulaire attaché


Ces formulaires permettent de voir les mêmes types de données mais dans 2 formulaires
différents qui sont aussi synchronisés.

1.4.2.1 Exemple1
Pour obtenir pour chaque tuteur la liste des enfants dont il est responsable.
Formulaire principal nommé : FP_TuteurEnfant_Attache
Sous formulaire nommé : FS_TuteurEnfant_Attache
Champ père : IdTuteur dans la table T_Tuteur
Champ fils : IdTuteur dans la table T_Enfant

1.4.2.1.1 Assistant formulaire –


Choisir la table T_Tuteur – Champs: IdTuteur, TNom, TPrenom
Choisir la table T_Enfant – Champ: IdEnfant, ENom, EPrenom, IdTuteur

Gestion de Bases de données Access 2010


Chapitre 5 – Etat Nicolas Van Hees & AL Comahire

Chapitre 5 - Etat – Partie 1


1 La BD ClubJudo
1.1 Rôle et fonctionnement des états
Ils servent à créer des documents qui seront imprimés

Dans ces documents, on peut:


• Trier des données
• Grouper des données
• Effectuer des calculs

Les états sont des interfaces entre l'utilisateur et les tables.


Ils lisent les données dans les tables mais ne sont que des coquilles vides.

Deux types de personnes travailleront dans Access :


• Le concepteur s'occupe de la création et de la liaison des tables entre elles.
• L'utilisateur n'a pas accès aux tables ni aux relations. Il ne voit que la base de données
via les formulaires et les états. Souvent il n'a aucune idée de la manière dont les
données sont organisées dans les tables.

Formulaires Etats

Utilisateur

Concepteur

Table X Table Y Table Z

Les états ne font que lire les données dans les tables, ils n'y écrivent jamais rien.

Gestion de Bases de données Access 2010


Chapitre 5 – Etat Nicolas Van Hees & AL Comahire

1.2 E_Membre1 – état simple


Etat qui permet de visualiser la liste de tous les membres.
Ruban créer - Etat - Assistant Etat
Base: T_Membre
Champs: Tous sauf le IdCP et le IdClub
Regroupement: aucun – le supprimer
Classement: MNom

Etape 1
Choix de la table -
Choix des champs

Etape 2
Choix des niveaux
de regroupements

Ou le supprimer
si nécessaire

Gestion de Bases de données Access 2010


Chapitre 5 – Etat Nicolas Van Hees & AL Comahire

Etape 3
Choix des tris

Etape 4
Choix de la présentation

Etape 5
Choix du nom : E_Membre1

En mode création, déplacez le champ IdMembre en 1ère position et modifiez le titre.


Améliorez la mise en page avec des couleurs, des soulignements, des espaces,…

Gestion de Bases de données Access 2010


Chapitre 5 – Etat Nicolas Van Hees & AL Comahire

1.3 E_ClubMembre – regroupement par club


Etat permettant de voir les membres qui sont regroupés par club
Base T_Club : IdClub, ClNom
T_Membre : IdMembre, MNom, MPrenom, MDateNais
Regroupement: Par club – donc 1 niveau de regroupement
On n’ajoute pas de niveau de regroupement.
Classement: du membre le plus jeune au plus âgé

Gestion de Bases de données Access 2010


Chapitre 5 – Etat Nicolas Van Hees & AL Comahire

1.4 E_Competition1 – état simple – préparation au suivant


Etat qui liste l'ensemble des compétitions
Base : T_Competition, T_CP
Champs : Tous sauf IdCP dans les deux tables
Regroupement : aucun
Classement : aucun (il classe automatiquement sur le 1er champ IdCompetition)
Présentation : tabulaire

Gestion de Bases de données Access 2010


Chapitre 5 – Etat Nicolas Van Hees & AL Comahire

1.5 E_Competition2 – lettre ajoutée


Etat qui permet d'envoyer une lettre qui reprend la liste des compétitions.
Faire une copie de l'état E_Competition1.
Une lettre a été rajoutée dans l'en-tête de page et l’en-tête d’état est supprimé ainsi que le pied
de page et le pied d’état.
Vous pouvez changer la légende du titre dans les propriétés de l’état.
Notons que ce n'est pas du publipostage.
Pour ajouter du texte, il faut choisir l’outil Aa (passage à la ligne Maj Enter)
et une formule ab|

Gestion de Bases de données Access 2010


Chapitre 5 – Etat Nicolas Van Hees & AL Comahire

1.6 E_MembreCompetition1 – regroupement par membre


Cet état d'affiche pour chaque membre les résultats des compétitions auxquelles il a participé.
Base : T_Membre : IdMembre, MNom, MPrenom
T_AParticipe : APResultat, IdCompetition
T_Competition: CoNom, CoDate, CoPrix
Regroupement : par membre
Classement : par date, du plus ancien au plus récent.

Gestion de Bases de données Access 2010


Chapitre 5 – Etat Nicolas Van Hees & AL Comahire

2 Les relations de la BD ClubJudo

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

Chapitre 6 - Enoncés
1 Gestion des personnes qui consultent un site web (Julien).
Enoncé
On désire connaître la liste des personnes qui consultent des sites web.
Il faudra stocker la liste des utilisateurs. On stockera leur pseudo et leur adresse mail.
D'autre part, on stockera la liste des sites. Ces sites seront classés par type de sites.
Il faudra enregistrer dans une table qui consulte quoi.

Voici la table des utilisateurs

Voici la table des sites :

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

2 Gestion d'un hôtel

Enoncé
Un hôtelier doit gérer les chambres de l'hôtel qu'il possède.
• Il dispose de 15 chambres qui peuvent contenir des lits 1 ou 2 personnes, disposer d'une
douche ou d'une baignoire.
Il connaît aussi la taille de la chambre en mètres carrés.
Chaque chambre a son prix
• 3 techniciennes de surface travaillent dans l'hôtel (Rosa, Jeannine et Lili), elles nettoient
chacune plusieurs chambres. L'hôtelier dispose de leur adresse et de leur numéro de tél.
Voici comment sont réparties leurs charges par chambre
Prénom Chambres
Rosa 101-103-107-108-115
Jeannine 202-204-205-209-210
Lili 206-211-212-213-214
• Les clients louent des chambres. Ils peuvent revenir une ou plusieurs fois sur la saison et
évidemment retomber ou redemander la même chambre.
• Chaque chambre sera louée à une succession de clients.

Questions
1. Obtenir la liste des clients avec leur(s) date(s) de location et les chambres louées.
Calculer aussi la date de fin de location
2. Obtenir la liste des clients qui ont loué une certaine chambre demandée comme
paramètre à l'utilisateur
3. Obtenir la liste des chambres pour chaque technicienne de surface.
4. Obtenir la liste des clients qui ont loué une chambre après une certaine date
5. Calculez la durée de chaque réservation.
6. Pour l'identification de chaque client calculez un nouveau champ qui reprend les 3
premières lettres du nom et les 3 et 4ème lettres du prénom.
7. Obtenir la liste des chambres qui ont été louées plus de 5 jours
8. Obtenir la liste des chambres dont Lili s'occupe et qui ont une douche.
9. Sélectionner la liste des chambres dont la date de début de location s'étale entre le 1
janvier et le 30 avril 2012.
10. Sélectionner la liste des clients dont le nom commence par d et se termine par e.
11. Trouvez la chambre dont le prix est le plus élevé
12. Comptez le nombre de chambres dont s'occupe chaque technicienne de surface.

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

3 Matchs de football

Enoncé
Vous devez gérer la liste des matchs de football d'une saison. Voici les éléments dont il faut
tenir compte:
• Les joueurs qui font partie d'une seule équipe pendant toute la saison (nom, prénom, date
de naissance, …) – Prévoir 10 joueurs
• Les équipes (nom, lieu d'entrainement, de match, le nom de l'entraineur…) – Prévoir 5
équipes.
• Les matchs eux-mêmes. Il faut stocker la date du match, les protagonistes, les scores…
Les équipes peuvent jouer plusieurs matchs contre 1 même équipe.

Prévoir 10 matchs.

Remarque : On peut choisir de résoudre le problème de la gestion des matchs par une table de
liaison ou non. Les 2 solutions sont correctes

Questions
1. Obtenir la liste de tous les matchs d'une saison.
2. Obtenir la liste de tous les matchs joués par un joueur
3. Obtenir la liste de tous les matchs joués par une équipe
4. Obtenir la liste des matchs joués à une certaine date
5. Obtenir la liste des joueurs d'une équipe
6. …

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

4 Garage gestion des clients

Enoncé
Il faut gérer la facturation des entretiens des clients du garage "SuperCar".
Vous devrez stocker les références de chaque client (nom, prénom, sexe, adresse, type de
client…).
Le type de client permet de spécifier s'il s'agit d'un particulier(1), d'une entreprise (2), d'une
voiture de location (3)…
Vous devrez aussi stocker la liste des produits qu'il est possible de facturer (ces produits sont
classés par catégories (A pour les accessoires, B pour les parties de moteur, C pour les
liquides…).
Ex: bougies, essuies glaces, pot d'échappement, huile,…

Remarque:
On ne connaît pas à l'avance le nombre de produits à facturer pour chacun des clients lors d'un
entretien. Il faudra donc utiliser 2 tables : table Facture et Détail Facture.
La table Facture contiendra les renseignements fixes (numéro de la facture, numéro du client,
date, urgent). La table Détail Facture contiendra les lignes de facturation (code du produit,
quantité, remise).

Questions
1. Obtenir la liste de tous les clients.
2. Obtenir la liste de tous les produits de la facture numéro "untel"
3. Calculer le total d'une facture dans un formulaire.
4. Compter le nombre de produits par catégorie
5. Obtenir la liste des commandes qui contiennent un produit "untel"
6. Obtenir la liste des commandes passées après telle date.
7. Obtenir la liste des commandes passées par le client "untel
8. …

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

5 Gestion d'une entreprise de location de voitures (Kajamba)

Enoncé
On désire informatiser une entreprise de location de voiture.
Ici, c'est à vous de rédiger l'énoncé, voici une idée des tables qui pourraient être présentes.

Tables
Client Marque
- nom - id marque
- prénom - nom
- …
- listeaccident
Catégorie Location:
- idcategorie - idlocation
- nom - idclient
- caution - idvoiture
- carburant - locdate
- transmission - locretour
- direction assistée - locrentree
- Air conditionné - locdurée
- ABS - locetatvoiture
- Auto Radio - Reservation
- Nbr Portes
Ville: Voiture
- IdCP - categorie
- CP …
- ville

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

6 Gestion d'une ASBL


Enoncé
But Gérer des subsides octroyés à des ASBL
Ces subsides peuvent être de 2 types
- Subsides directs alloués chaque année:
o un montant en euros
- Subsides indirects alloués chaque année:
o l'eau, le gaz l'électricité sont payés
o allocation de personnes pendant une certaine durée, le statut de ces personnes
peut évoluer d'une année à l'autre et il s'agit souvent des mêmes personnes qui
sont réengagées d'une année à l'autre
o allocation de voitures. Il s'agit du même système que pour les personnes.

Questions
1. Liste totale des subsides déjà alloués à une ASBL
2. Liste des subsides déjà alloués à une ASBL pour une année déterminée demandée en
paramètre.
3. Liste des subsides en eau payés pour une année donnée pour l'ensemble des ASBL
4. Compter le nombre d'ASBL de Liège
5. Liste des personnes occupées pour une année déterminée.
6. …

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

7 Gestion d'une école

Enoncé
Vous devez gérer les différents étudiants d'une école qui suivent des cours d'informatique.
Liste des cours (par exemple):
Logiciel Graphique d'Expl. déb. 40
OS niveau 1 40
Excel-1 niveau 1 40
Excel-2 niveau 2 40
GBD-1 niveau1 80
Plusieurs cours d'Excel-1 peuvent être organisés (il faudra stocker le début et la fin de
chacun).
On doit pouvoir inscrire un étudiants dans plusieurs cours (pour chaque étudiant, il faudra
stocker ses informations personnelles)
Un cours peut être choisi par plusieurs étudiants (heureusement)
On devra pouvoir extraire la liste des étudiants inscrits à un cours.
On devra pouvoir additionner le nombre d'heures suivies par étudiant

On peut ensuite commencer à répartir ces cours par professeur

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

8 Gestion d'une école de ski

Enoncé
Vous possédez une école de ski qui dispense des cours en fonction du niveau des gens.
Le tableau ci-dessous reprend les intitulés des différents niveaux de cours qui
sont organisés chaque semaine.
Des cours différents sont organisés pour les enfants et pour les adultes.
Pour entrer dans un cours, par exemple le cours 2ème étoile, les enfants doivent présenter le
document prouvant qu'ils ont obtenu le test de la première étoile dans un séjour précédent.
En fin de formation, ils peuvent passer un test, par exemple, le cours 2ème étoile présentera le
test de la troisième étoile.
Les adultes ne passent pas de test.

• Liste des niveaux


Intiluté Type Prérequis TestFinal
débutant Enfant flocon
1ère étoile Enfant flocon 1ère étoile
2ème étoile Enfant 1ère étoile 2ème étoile
3ème étoile Enfant 2ème étoile 3ème étoile
Compétition Enfant 3ème étoile flèche, chamois
2B Adulte
2A Adulte
3B Adulte
3A Adulte
Evasion Adulte
• Une personne peut revenir plusieurs fois sur la saison et peut donc faire partie de plusieurs
cours. Elle peut suivre plusieurs fois un cours 3A.
• Un cours comprendra des personnes et 1 moniteur prévu parmi la liste des moniteurs dont
vous disposez dans votre BD.
• 1 moniteur prendra en charge plusieurs cours pendant la saison.

Questions
1. Obtenir la liste des clients et le cours auquel ils sont inscrits
2. Obtenir la liste des clients de son cours pour un moniteur
3. Obtenir la liste des cours débutants pour la saison
4. Obtenir la liste des cours de ski pour la semaine de telle date

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

5. Obtenir la liste des cours pour des enfants d'une même famille
6. …

9 Projet notaire (H. Schyns)

Position du problème
Maître Béranger Comyfaut repousse violemment le tiroir du classeur. Il est hors de lui.
Depuis hier matin, il essaie de remettre la main sur un acte de vente. Rien. Si seulement son
père l'avait laissé faire, tout serait informatisé depuis longtemps. En quelques clics, il aurait
retrouvé ce fameux acte. Mais non, le vieux têtu ne faisait confiance qu'à sa mémoire. Lui
seul s'y retrouvait dans le dédale des archives entassées dans la cave. Hélas, son heure a
sonné; le vieux dort de son dernier sommeil depuis 3 semaines et la vie de l'étude doit
continuer. Mais l'acte est toujours introuvable.
A chaque vente, c'est le même cinéma: il faut établir la liste de tous les propriétaires
successifs du bien; retrouver les actes de vente, vérifier l'historique des hypothèques auprès du
cadastre, demander le revenu cadastral à l'administration fiscale,…
Quelques semaines après cette scène, vous êtes convoqués par maître Comyfaut. Il vous
demande de rédiger un avant-projet de bases de données afin de:
Gérer le classement et l'archivage des actes de vente des biens immobiliers
Savoir à quelle(s) date(s) tel bien a été vendu et pour quel montant afin de
reconstituer l'historique de la propriété.
Savoir qui était le notaire qui a enregistré la vente (notaire instrumentant)
Tenir un carnet d'adresses d'acheteurs et des vendeurs, lesquels peuvent être des
particuliers ou des sociétés
Tenir compte des frais de notaire et des frais de publicité éventuels
Savoir si le bien a été vendu de gré à gré ou en vente publique.

Quelques informations
- Un bien peut avoir plusieurs propriétaires qui le vendent. C'est notamment le cas lors des
ventes pour sortir d'indivision suite à un héritage. De même, il peut avoir plusieurs
propriétaires acheteurs (couples…)
- Les biens se subdivisent en catégories: maisons, appartements, terrains à bâtir, terrains
agricoles, bâtiments industriels…
- Chaque bien a un numéro cadastral unique et un revenu cadastral déterminé par
l'administration fiscale.
- les actes sont repérés par un numéro de code, hérités de maître Comyfaut père. Ils sont
rangés en vrac dans des caisses selon un ordre qui défie toute logique.
Maître Comyfaut fils propose de numéroter toutes les caisses ainsi que toutes les étagères sur
lesquelles elles reposent.

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

Il propose également de scanner le contenu de chaque acte et de graver des CD en fonction de


sa propre logique de classement (par acte de vente).
- Le payement de la vente est généralement financé par un emprunt hypothécaire. Un
hypothèque est toujours prise pour 15 ans, mais elle peut être clôturée par
anticipation lorsque l'emprunt est totalement remboursé (main levée).

Demandes particulières
Il faut que l'application puisse donner:
L'historique de toutes les ventes relative à un bien donné
Les propriétaires actuels d'un bien
La liste des biens dont le revenu cadastral est compris dans une fourchette donnée.
La liste des biens qui n'ont jamais été vendus (c'est à dire dont la dernière vente
remonte à 50 ans).

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

10 Gestion des entraînements dans une salle de sport

Enoncé
Vous avez une salle de Power Training ou des gens viennent s'entraîner.
Il faut évidemment gérer une liste des gens de leurs coordonnées , de leurs cotisations…
Vous avez en stock une série d'exercices qui peuvent être réalisés dans votre
salle, le nombre de fois qu'il faut les réaliser et le poids à utiliser
Numéro Type Nombre de fois Poids
1 cumulets 40
2 abdominaux 4x20
3 squats 4x10 25 kg
4 développé couché 2x20 20 kg
5 rameur 2x40 25 kg
6 vélo 15 min 4
7 step 2x10 min 3

Questions
A partir de ces exercices de base, vous avez programmé un certain nombre d'entraînements,
plusieurs entraînements peuvent reprendre les mêmes exercices. Par exemple:
l'entraînement 1 reprend les ex:1, 2 et 3
l'entraînement 2 reprend les ex:1, 5 et 7
l'entraînement 3 reprend les ex: 3, 4, 6 et 7
l'entraînement 4 reprend les ex: 5 et 6
Une personne viendra plusieurs fois et à chaque fois choisira un entraînement différent.
Plusieurs personne peuvent choisir le même entraînement.

Gestion de Bases de données Access 2010


Chapitre 6 – Les énoncés Nicolas Van Hees & AL Comahire

11 Gestion des grands prix de formule 1


On veut dérer les grands prix de chaque saison.
La liste des circuits avec tous leurs paramètres ( nom, taille, lieu…) sera nécessaire.
chaque année une série de circuits sera palanifée pour la saison. certains circuits pourraient
n'être repris que tous les 2 ans.

D' autres part, des pilotes vont conduire des voitures lors de ces grands prix. Chacun des
pilotes appartient à une écurie ( Ferrari ,…).

Au terme d'un grand prix, les premiers arrivés obtiennent des pointsen fonction de leur
résultat.

1ier 10
2iem 6
3iem 4
iem
4 3
5iem 2
iem
6 1

Au-delà de la septième place ils ont 0 points.

Gestion de Bases de données Access 2010


Annexes
x
1

Débuter avec Access 2010.

Créer une nouvelle base de données :


1. Créer la base de données, choisir base de données vide.
2. Sélectionner le répertoire où on va stocker la base de données et lui donner un nom.

3. Activer le contenu de la table si nécessaire.

Débuter avec Access 2010


2

Pour libérer les fenêtres et enlever le monde onglet :


Allez dans Ficher / Options

Allez dans « base de donnée active »

Décochez : Afficher les onglets des documents

Cochez : Fenêtres superposées ».

Il faut ensuite fermer la base de données et la rouvrir

Débuter avec Access 2010

Vous aimerez peut-être aussi