Académique Documents
Professionnel Documents
Culture Documents
1
Cliquez deux fois sur T_Client, et également 2 fois sur T_Pays. Cliquez ensuite sur
. Vos deux tables T_Client et T_Pays sont maintenant apparentes sur votre
écran, comme ceci :
Une fois que vous avez sous les yeux les 2 tables avec tous leurs champs (surtout la table
T_Client qui contient pas mal de champs), nous allons essayer de les lier ensemble : Cliquez
sur Pays de T_Pays, et faites le glisser sur IDClient de T_Client :
Vous constatez que quand vous faites glisser la souris, elle se transforme.
2
Pour la faire réapparaître
Cliquez sur l'icône , et cliquez 2 fois sur T_Pays : , puis cliquez sur .
En réalité, tout ce qu'on fait, c'est MASQUER la table du tableau des relations. La table est
toujours là, on ne la voit plus.
Il faut cliquer précisément sur la petite ligne noire qui relie les 2 tables :
. Cliquez sur Oui, et la relation a maintenant disparu. Vous vous retrouvez avec vos 2 tables,
comme au début : .
Nous allons maintenant réaliser une relation qui "tient la route" : Nous allons en quelque sorte
"marier" les deux tables T_Client et T_Pays. Il faudrait, pour que notre base de données soit
3
fiable, que tous les clients, SANS EXCEPTION, proviennent d'un pays QUI EXISTE dans la
table de référence T_Pays. Si un client vient de "U.S.A" alors U.S.A DOIT exister dans
T_pays. Pareil pour YoupiLand.
On ne dit pas "Marier les tables". Dans le jargon des informaticiens, nous disons "Appliquer
l'intégrité référentielle". Pour ce faire, créez une relation entre Pays de T_Pays jusque
PaysOrigine de T_client (Le sens dans lequel vous allez n'a aucune importance : Que vous
partiez de T_Client pour aller vers T_Pays ou l'inverse ne change rien). La boite de dialogue
suivante apparaît : .
C'est un des messages d'erreur les plus communs d'Access. De plus, il n'est pas très
compréhensible. On peut le traduire ainsi :
Pour corriger :
Mr. Saidane 4
3. Précisez que Bill Clunton ne vient PAS de YoupiLand, mais, par exemple de
Belgique.
4. Fermez T_Client (Très important de fermer toutes les tables avant d'aller dans les
relations, sinon, il n'y a rien qui marche)
5. Retournez dans les relations
6. Faites glisser à nouveau Pays de T_Pays sur PaysOrigine de T_Client
7. Cochez la case "Appliquer l'intégrité référentielle"
8. Cliquez sur OK
Si vous avez parfaitement suivi les instructions, vous ne devriez PLUS avoir de message
d'erreur, mais Access devrait vous avoir créé la relation entre les 2 tables comme ceci :
Vous constatez que la relation possède un petit et un petit . C'est le signe que la relation
s'est bien déroulée, et que, surtout, l'intégrité référentielle s'est appliquée correctement. A
partir de maintenant, on peut dire que les deux tables sont liées. Dès cet instant, il va être
SRICTEMENT IMPOSSIBLE d'attribuer pour un client quelconque un pays qui n'existe pas
dans ta table T_Pays.
1.6. Résumé
Il est possible de créer des relations entre tables de 2 manières : avec ou sans intégrité
référentielle. S'il n'y a pas d'intégrité référentielle, les relations ne servent pas à grand chose.
Par contre, quand elle est appliquée, alors, tout est sécurisé : Les 2 champs mis en relation
DOIVENT absolument correspondre sans exception. Pour appliquer l'intégrité référentielle, il
faut que le champ qui sert de "source" (Pays de T_Pays dans notre exemple) soit en clé
primaire, sinon, ça ne marche pas.
2. Les requêtes
Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création de requête :
5
Le Concepteur de requêtes s'ouvre et la boîte de dialogue Afficher la table s'affiche.
Cliquez une fois sur "T_Celebrite", puis sur "Ajouter", et enfin sur "Fermer". Vous êtes
maintenant dans votre requête en mode création :
6
Vous le copiez ainsi dans la grille du bas : .
Cliquez maintenant également deux fois dans NomClient. Vous obtenez maintenant ce
En fait, chaque fois que vous cliquez deux fois sur un champ, il se rajoute à la droite des
champs déjà présents.
Pour visualiser le résultat, c'est très simple : Cliquez donc sur cette icône , vous
Ce sont simplement les deux colonnes Prénom et Nom qui sont représentées, sans même
être triées, simplement dans l'ordre dans lequel elles sont stockées dans la table sous-jacente.
7
Nous allons à présent enregistrer cette requête. Allez dans le menu Fichier/Enregistrer :
2.5. Remarque
Il y a une totale interaction entre les tables et les requêtes ! Si je change dans la table, le
résultat de la requête change !
2.6. Manipulation des champs dans une requête
Pour poser, par exemple, le champ NomClient entre Prenom et Domaine, cliquez sur le champ
NomClient dans votre liste de champs, et vous le faites glisser jusque SUR le champ Domaine
que vous avez mis en bas dans la grille (Donc vous cliquez sur NomClient, vous laissez le doigt
appuyé sur le bouton gauche de la souris, et vous vous déplacez jusque sur le mot
8
Pour effacer la colonne Domaine, Vous cliquez juste au dessus de Domaine, dans la grille
(Votre souris devient une grosse flèche noire) Et vous appuyez sur DEL (Suppr) de votre
C'est un premier exemple simple. Pour lister tous les sportifs, créez une nouvelle requête
basée sur T_Celebrite, et placez-y les champs Prenom, NomClient, et Domaine.
Dans cette requête, en mode création, vous allez écrire sport dans le critère de la colonne
Lorsque vous appuyez sur ENTER, ou simplement si vous cliquez dans une autre case, sport
9
Pour constater le résultat de notre première requête un tant soit peu utile, lancez-là en mode
.
2.9. Critères de requête Entre X ET Y
Maintenant on va extraire les gens qui gagnent entre 10'000 et 15'000 dinars par mois.
Première manière : Créez une nouvelle requête, toujours basée sur T_Celebrite, contenant
les champs Prenom, NomClient et SalaireMensuel. Comme critère de salaire mensuel, écrivez
littéralement : entre 10000 et 15000
10
Deuxième manière : Remplacez votre critère Entre 10000 et 15000 par >10000 Et <15000
Exemple : Donnez la liste de tous les gens qui appartiennent au domaine Chanson ou
Cinéma.
Créez une nouvelle requête basée sur T_Celebrite, dans laquelle vous insérez le Prénom et le
NomClient, ainsi que le Domaine, et comme critère de domaine, vous écrivez chanson ou
11
Créez une nouvelle requête comme d'habitude. Si vous mettez les critères suivants :
Vous aurez les célibataires sportifs, et rien d'autre. Mais si vous mettez célibataire une ligne
plus bas, comme ceci :
alors cette fois, vous pourrez constater que chaque personne est soit sportive, soit célibataire,
On ne peut pas mettre <1960 dans le champ DateNaissance car ill s'agit d'une date, donc, vous
ne pouvez pas simplement indiquer l'année. Vous êtes obligé d'écrire comme critère
<1.1.1960.
Créez une nouvelle requête comme d'habitude, et demandez le Prénom, le Nom et la date de
Dans la section suivante, on va extraire les gens dont la date de naissance n'est pas connue.
2.14. Critères de requête : Utilisation de Null
12
Bases de Données Issatso. 17/18
Pour obtenir les gens dont la date de naissance n'est pas connue, vous devez écrire null
Relancez la requête : Cette fois, vous avez les mêmes personnes, mais, la colonne Domaine
n'est plus représentée.
Créez une nouvelle requête, comme d'habitude, et placez les champs suivants dans cet ordre :
.
Si vous lancez la requête telle quelle, vous aurez la liste simple de tous les gens, dans l'ordre
dans lequel elles ont été rentrées.
Revenez ou restez en mode création de cette requête. Cliquez dans la zone Tri de Domaine
: .
En cliquant dans cette zone, ça fait apparaître une petite flèche. Si vous cliquez sur cette
13
Bases de Données Issatso. 17/18
Lancez la requête : Vous constatez que les domaines sont triés par ordre alphabétique
14