Cours SGBDR Access

LE SYSTEME DE GESTION DE BASES DE
DONNEES RELATIONNELLES ACCESS 2000
A/ LE CONCEPT DE BASES DE DONNEES RELATIONNELLESa/ QU’EST CE QU’UNE BASE DE DONNEES RELATIONNELLES

Une base de données est un ensemble de données organisées sous forme de tables. Une base de données couvre un domaine de gestion précis (ex : domaine Gestion des clients, gestion des ventes, gestion des achats, gestion de rendez-vous...).
Lorsqu’il existe des relations entre les tables, on parlera de base de données relationnelles
Exemple : Une vidéothèque souhaite créer une base de données permettant de suivre les locations de cassettes des clients.

La base de données contiendra 3 tables : CLIENTS, CASSETTES, LOCATIONS
TABLE CLIENTS
b/ QU’EST CE QU’UNE TABLE ?

Une table est un tableau dans lequel :
- les lignes constituent des enregistrements
- les colonnes représentent des champs

c/ QUELS SONT LES PRINCIPES ELEMENTAIRES A RESPECTER POUR CREER UNE BASE DE DONNEES RELATIONNELLE ?
1) Chaque table doit comprendre un champ défini comme clé primaire, celle-ci permet d'identifier de manière unique chaque enregistrement.
2) Les données doivent être élémentaires : Exemple Le champ IDENTITE contenant le nom et le prénom d’un individu n'est pas élémentaire, il faut créer un champ NOM et un champ PRENOM

3) Les données calculées sont éliminées (car elles peuvent être recalculées de manière dynamique et n'ont donc pas besoin d'occuper de l'espace disque)
4) Il faut éliminer les informations redondantes (qui se répètent)
5) Aucune table ne peut être isolée

6) Les relations entre les tables doivent être du type UN à UN ou UN à PLUSIEURS mais en aucun cas du type PLUSIEURS à PLUSIEURS
B/ QU'EST CE QU'UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES
C'est un logiciel outil qui permet de manipuler des données en offrant à l'utilisateur la possibilité de :
Créer des tables et saisir des données dans les tables ;

de créer et d'utiliser des formulaires de saisie
de consulter, supprimer, mettre à jour des enregistrements de la base de données, faire des calculs grâce à la formulation de requêtes
d'imprimer des états ;

De réaliser des applications de gestion automatisée grâce aux macro-commandes et à la programmation en langage Visual Basic Application
EXEMPLE DE FORMULAIRE : le formulaire ci-dessous permet de mettre à jour la table LOCATION.
REMARQUE : Pour obtenir ce résultat avec EXCEL, il faudrait créer une feuille par client, ce qui entraînerait un volume disque impressionnant en fonction du nombre de clients

C/ Les objets disponibles dans ACCESS 2000
L’ensemble des objets manipulés dans ACCESS 2000 sont disponibles depuis la fenêtre « Base de données » :
I/ CREER UNE TABLE AVEC ACCESS
Pour créer une table trois questions sont à se poser :
A/ Quels sont les renseignements dont j’aurai besoin ? La réponse à cette question va déterminer les champs à définir pour la table.

B/ Quelle sera la structure de ma table ?
Pour chaque champ de la table on doit définir le type de données et la taille du champ (nombre de caractères maximal que peut contenir le champ)
C/ Quel sera le champ qui servira de clé primaire de la table ?

Toute table doit en effet comporter une clé primaire, c’est à dire un champ ayant une valeur unique pour chaque enregistrement. Il faut donc prévoir un champ contenant un numéro ou un code.
ACCESS gère les types de données et les tailles de champ suivants
Types de données | Définition | Taille du champ |
TEXTE | Contient tout type de caractères (chiffres, lettres;symbole...) | Défini par l'utilisateur, de 1 octet jusqu'à 255 maxi |
MEMO | Contient des informations de longueur variable; ex : "Ce client est à contacter le lundi à partir de 14 h" | Taille variable non paramétrable, de 1 à 32000 caractères |
NUMEROAUTO | Attribue à chaque enregistrement un numéro "incrémenté" | Taille non paramétrable (équivaut à la taille entier long) |
OUI/NON | Ce type n'admet que deux valeurs :
soit oui/non soit vrai/faux soit activé/désactivé ![]() |
Taille non paramétrable |
NUMERIQUE | Ce type correspond à des nombres (données qui pourront servir à des calculs) | Choisissez la taille :
- Octet : nbre compris entre 0 et 255 - Entier (nombre compris entre -32767 et + 32767 ![]() - Entier long (entre -2 milliard et + 2milliards) - réél simple (entre -3.40 1038et +3.40 1038) ![]() - Réel double (entre -1.79 10107 et +1.79 10107) |
MONETAIRE | Ce type de données conserve en mémoire tous les chiffres après la virgule, ce qui peut s’avérer utile pour les problèmes d’arrondi | 8 octets (taille non paramétrable) |
OLE | Conserve des données liées à une autre application telle qu’EXCEL | Jusqu’à un giga octet |
LIEN
HYPERTEXTE |
Mémorise des adresses URL de sites
Web ![]() |
Jusqu’à 64000 octets |
ASSISTANT
LISTE DE CHOIX |
Permet de rechercher une valeur parmi une liste de valeur provenant d’une autre table. Généralement, les listes de choix sont utilisées pour les clés étrangères. | |
DATE/HEURE | Permet d'entrer des dates ou des heures | Taille non paramétrable |
Remarque : pour les champs de type numérique, il faut choisir la taille la plus petite possible correspondant au besoin par exemple pour un champ Nombre d'enfants le type octet suffit, pour des montants avec virgule la taille réel simple suffit largement)

Le champ de type compteur équivaut en taille à "Entier long"
LE THEME
La société « La papetière » assure la distribution de fournitures de bureau et accessoires informatiques auprès d'utilisateurs professionnels.

Cette société envisage d'utiliser le S.G.B.D. relationnel ACCESS 2000 pour assurer le suivi des commandes clients.
Votre mission (si vous l'acceptez) va consister à créer la table CLIENT appartenant à la base de données
1) Lancez MICROSOFT ACCESS 2000 qui se trouve dans le groupe MICROSOFT OFFICE

2) dans le menu fichier - sélectionnez l’option NOUVELLE BASE DE DONNEES
3) Sélectionnez un emplacement de sauvegarde et saisissez le nom de la base de données
4) Sélectionnez l’objet Table dans la fenêtre base de données puis cliquez sur Créer une table en mode création

5) Créez la structure de la table CLIENTS selon les indications ci-après :
Nomp du champ | Type de champ | Taille du champ |
CODECLI | ENTIER LONG | Entier long |
NOMCLI | TEXTE | 40 |
ADRCLI | TEXTE | 40 |
VILLECLI | TEXTE | 25 |
PAIEMENT | TEXTE | 21 |
ENCOURSCLI | NUMERIQUE | Réél simple |
PLAFONDCLI | NUMERIQUE | Réél simple |
CPCLI | NUMERIQUE | Entier long |
Nom de la table : CLIENT
7) Vous disposez ci-dessous des cinq premiers enregistrements de la table CLIENT de la société PAPETIERE. Votre travail consiste à saisir ces enregistrements en mode « feuille de données ».

Enregistrements à saisir
Code client | NOMCLI | ADRCLI | VILLECLI | PAIEMENT | ENCOURSCLI | PLAFONDCLI | CPCLI |
00001 | Vent du Sud | 10 rue Montaigne | LILLE | Chèque à réception | 112 000.00 F | 50000 | 59000 |
00002 | Crion | 15, rue JB Lebas | LILLE | Chèque à réception | 29 200.00 F | 50000 | 59000 |
00003 | Edition du Cherche Midi | 221, Boulevard de la république | LILLE | Chèque à réception | 47 200.00 F | 90000 | 59000 |
00004 | Pic Puce | 171, route de
Valenciennes |
SIN LE NOBLE | 30 jours fin de mois | 37 000.00 F | 130000 | 59450 |
00005 | Assurance | 12, rue de l'Eglise | SIN LE NOBLE | 30 jours fin de | 147 000.00 F | 100000 | 59450 |
Code client | NOMCLI | ADRCLI | VILLECLI | PAIEMENT | ENCOURSCLI | PLAFONDCLI | CPCLI |
Azur | mois |
MODES OPERATOIRES

1) Cliquez sur le bouton Affichage feuille de données (remarque : la petite flèche permet de sélectionner les 2 modes d’affichage d’une table : feuille de données ou création)
II/ MODIFIER LA STRUCTURE D’UNE TABLE
On va modifier la structure de la table des clients :
en insérant un champ CODEREG en supprimant le champ PAIEMENT

en déplaçant le champ CPCLI pour le positionner avant VILLECLI (ce qui est plus logique)
1) Ouvrez la fenêtre « Création de table » :
* si la table client est encore ouverte en mode feuille de données, cliquez sur le bouton Affichage -

« Mode création »:
* Si la table client est fermée, sélectionnez celle-ci dans la fenêtre « Base de données » et cliquez sur le bouton « modifier » :
2) Le mode de paiement étant une donnée répétitive, vous allez codifier ce champ (il est plus rapide de saisir un code plutôt qu’une expression du type « CHEQUE A RECEPTION ») on va donc insérer un nouveau champ : CODEREG juste avant le champ PAIEMENT :

* Pour insérer un champ : on sélectionne la ligne avant laquelle on veut insérer le champ (ici on sélectionne la ligne PAIEMENT)
Puis on clique sur le menu Edition - insérer une ligne
Vous pouvez maintenant ajouter le champ CODEREG dont le type de données est numérique - Taille du champ : OCTET

Les valeurs prises par le champ CODEREG sont les suivantes en fonction du mode de paiement :
CODE REG | PAIEMENT |
1 | Chèque à réception |
2 | 30 jours fin de mois |
3 | 60 jours fin de mois |
4 | 90 jours fin de mois |
5 | Chèque à 60 jours |
3) Mettez à jour le contenu du champ CODEREG pour les cinq enregistrements saisis précédemment :
Basculez en mode feuille de données et saisissez une valeur comprise entre 1 et 5 dans le champ CODEREG.

4) Le champ PAIEMENT est maintenant devenu superflu, aussi vous allez le supprimer : Sélectionnez le champ PAIEMENT
Cliquez sur le menu Edition - supprimer ligne
5) Déplacement du champ CPCLI

Basculez en mode création de table (cliquer sur le bouton « Création de table » Sélectionnez la ligne contentant le champ CPCLI :
III/ PARAMETRER LES PROPRIETES D’AFFICHAGE ET DEFINIR DES CONTROLES DE SAISIE
On va améliorer la table CLIENT en : définissant une légende de certains champ (le champ CPCLI, par exemple est incompréhensible, sa
légende sera Code postal) définissant une description qui apparaîtra dans la barre d’état (par exemple, la légende du champ CPCLI

sera « Entrez le code postal du client ») définissant un format personnalisé pour certains champs : par exemple le champ VILLECLI sera au
format majuscule, le champ code client sera au format 00000 ...) définissant des règles de validation : exemple : le champ CPCLI doit être compris entre 01000 et 95000 définissant des messages d’erreur si les règles de validation ne sont pas respectées.
Informations

LE FORMAT D’AFFICHAGE
Le format d'un champ définit la manière dont doivent être présentées les données. On peut utiliser dans certains cas des formats prédéfinis ou alors personnaliser son format (pour les formats prédéfinis faites donc des essais!!!)
Exemples de formats personnalisés (à définir dans la propriété FORMAT de la table en mode création :
DONNEES DE TYPE TEXTE (ET MEMO) : UTILISEZ LES CARACTERES SUIVANTS :

Code de format | Description - Exemples | |||||
> | Tous les caractères du champ seront en majuscules | |||||
< | Tous les caractères du champ seront en minuscules | |||||
@ (
Gr>0) |
permet de personnaliser l’affichage des caractères Exemple : pour personnaliser un n° de
téléphone on peut définir le format suivant : @@-@@-@@-@@-@@ Si on saisit la valeur 0127988862, l'affichage sera le suivant : 01-27-98-88-62 ![]() |
|||||
DONNEES DE TYPE NUMERIQUES : UTILISEZ LES CARACTERES SUIVANTS : | ||||||
Code de format | Description - Exemples | |||||
# (
Gr>3) |
Désigne un chiffre. Exemple : soit le format "N° de code "### ### . En entrant la valeur 411214 ACCESS affichera : N° de code 411 214 | |||||
0 | Exemple : 000 : la valeur 7 sera affichée 007 | |||||
% | Format pourcentage Ex : 0,12 entraine l'affichage de la valeur 12% | |||||
F ou € | Affiche le symbole F(ranc) ou €(uro), utiliser plutôt le format "Monétaire" | |||||
LES REGLES DE VALIDATION ET LES MESSAGES D’ERREUR | ||||||
LES REGLES DE VALIDATION limitent les valeurs que doit prendre le champ et permettent donc un contrôle de saisie
LES MESSAGES D’ERREUR : lorsqu’une règle de validation a été définie, on peut provoquer l’affichage d’un message en cas d’erreur.

ACCESS utilise des EXPRESSIONS DE VALIDATION en Français.
Par exemple dans la propriété "VALIDE SI " on peut utiliser les expressions suivantes :
EXPRESSIONS DE VALIDATION | LES DONNEES DOIVENT | MESSAGE SI ERREUR |
="FRANCE" | Etre égales à "FRANCE" | « Le pays saisi doit être la France » |
ENTRE "01000" ET "95000" | Comprises entre "01000" et "95000" | « Le code postal n’est pas valide » |
DANS("PARIS";"LYON";"LILLE") | Etre "PARIS";"LYON" ou "LILLE" | « La ville doit être PARIS, LYON ou LILLE » |
COMME("P[A-F]###") | avoir la 1ère lettre commençant par
Pet la deuxième comprise entre A et ![]() F |
ACTIVITE
Paramétrez les propriétés de certains champs de la table CLIENT en tenant compte des indications ci-dessous

Nom du champ | Description | Légende | Format | Règle de validation/message d’erreur |
CODECLI | Code client | 00000 | ||
VILLECLI | En majuscule | |||
CPCLI | Entrez le code postal | Code Postal | @@@@@ | Valide si :
Entre « 01000 » Et « 95999 » Message si erreur : Le code postal doit être compris entre 01000 et 95999 |
PLAFONDCLI | Saisissez la ligne de crédit maximal autorisé | Monétaire en euro | ||
ENCOURSCLI | Saisissez l’encours de crédit utilisé | Monétaire en euro | ||
CODEREG | Valide si :
Entre 1 Et 5 ![]() Message si erreur : Le code de règlement doit être compris entre 1 et 5 |
Eléments de modes opératoires :

Sélectionnez le champ dont les propriétés sont à modifier
Paramétrez la ou les propriétés concernées
Astuces : pour la propriété Valide si, Access convertit la première lettre de chaque mot clé en majuscule. S’il ne le fait pas, cela traduit une erreur

4) Vous allez vérifier les formats et les règles de validation en saisissant les cinq enregistrements suivants de la table CLIENT :
Code
client |
NOMCLI | ADRCLI | code postal | VILLECLI | CODE REG | PAIEMENT |
ENCOURS
CLI ![]() |
PLAFOND
CLI |
00006 | Mécanord | ZAC les Epis | 59450 | SIN LE
NOBLE |
3 | 60 jours fin de mois | 269 000.00 F | 280000 |
00007 | Le soleil de Tunis | 125, place du
Barlet ![]() |
59500 | DOUAI | 4 | 90 jours fin de mois | 29 600.00 F | 50000 |
00008 | Joue Club | 356, rue de
Bellain |
59500 | DOUAI | 4 | 90 jours fin de mois | 176 200.00 F | 190000 |
00009 | Micropuce | 147, rue de
Paris |
59500 | DOUAI | 3 | 60 jours fin de mois | 72 350.00 F | 95000 |
00010 | Centre français de restauration | 15, rue de
Saint Sulpice ![]() |
59187 | DECHY | 3 | 60 jours fin de mois | 294 150.00 F | 310000 |
Basculez en mode Feuille de données et effectuez la saisie.
IV/ CREER UN FORMULAIRE DE SAISIE
1) La saisie directe dans la table client n’est pas agréable, aussi vous allez créer un formulaire de saisie que vous appellerez :
Saisie modification des clients

- Sélectionnez ensuite tous les champs à faire figurer dans le formulaire :
- Sélectionnez ensuite le modèle Colonne simple
- Choisissez un style de présentation (c’est une affaire de goût)

- Saisissez le titre au formulaire : Saisie/Modification des clients
2) Vous allez saisir les sept derniers enregistrements de la table CLIENT en utilisant le formulaire précédent :
Code
client ![]() |
NOMCLI | ADRCLI | code postal | VILLECLI | CODEREG | PAIEMENT | ENCOURSCLI | PLAFONDCLI |
00011 | Lycée Rambaux | 105, rue Paul Foucaut | 59450 | SIN LE NOBLE | 1 | Chèque à réception | 503 200.00 F | 500000 |
00012 | Briko Boutik | 124, Bd Jeanne de
Flandres |
59265 | AUBENCHEUL AU BAC | 5 | Chèque à 60 jours | 24 350.00 F | 80000 |
00013 | Carbone Copy | 07, place Saint Amé | 59500 | DOUAI | 3 | 60 jours fin de mois | 116 000.00 F | 180000 |
00014 | SériTech | 12, rue de Maupassant | 59650 | VILLENEUVE D'ASCQ | 3 | 60 jours fin de mois | 263 000.00 F | 310000 |
00015 | Berteman Inc. | rue des Cytises | 62221 | NOYELLES SOUS LENS | 3 | 60 jours fin de mois | 128 000.00 F | 97000 |
Code
client |
NOMCLI | ADRCLI | code postal | VILLECLI | CODEREG | PAIEMENT | ENCOURSCLI | PLAFONDCLI |
00016 | Bils Deroo Transport | 14, rue des prés | 59119 | WAZIERS | 4 | 90 jours fin de mois | 178 000.00 F | 195000 |
00017 | Ets Mario Land | 147, rue Bollaert | 62300 | LENS | 2 | 30 jours fin de mois | 60 000.00 F | 60000 |
LE THEME

Vous devez compléter la base de données de la société PAPETIERE en créant les tables - REGLEMENT, - CATEGORIE de produits, - PRODUIT. Vous devrez créer les formulaires de saisie correspondants afin de saisir les données.
Le contenu des tables à créer est le suivant
REGLEMENT
CODEREG | MODEREG |
1 | cheque a reception |
2 | 30 jours fin de mois |
3 | 60 jours fin de mois |
4 | 90 jours fin de mois |
5 | cheque a 60 jours |
CATEGORIE

CODECAT | LIBELLECAT |
ACC | Accessoires fournitures |
MOB | Mobilier petit matériel |
OUV | Ouvrages |
PAP | Papeterie |
PRODUIT
CODEART | DESIGNART | TVAART | PUHT | CODECAT |
1 | Transparents photocopieurs/10 | 19.60% | 30.00 F | ACC |
2 | Transparents manuels/10 | 19.60% | 13.50 F | ACC |
3 | Stylo à transparents effaçables | 19.60% | 7.50 F | ACC |
4 | Stylo à transparents permanents | 19.60% | 7.50 F | ACC |
5 | Boîtes de disquettes 3,5''/10 | 19.60% | 35.00 F | MOB |
6 | Boîte de CD-R 74 mn/10 | 19.60% | 99.00 F | MOB |
7 | Boîte de CD-RW /10 | 19.60% | 152.00 F | MOB |
8 | Calulatrice scientifique Cazio | 19.60% | 225.00 F | MOB |
9 | Calculette Euro | 19.60% | 27.00 F | MOB |
10 | Ramette papier multi usages | 19.60% | 45.00 F | PAP |
11 | Papier qualité photo /20 | 19.60% | 58.00 F | PAP |
12 | Support mural pour moniteur | 19.60% | 352.00 F | MOB |
13 | Filtre anti-reflet pour moniteur | 19.60% | 159.00 F | MOB |
14 | Créer un site avec Front Page | 5.50% | 125.00 F | OUV |
15 | Programmation en javascript | 5.50% | 250.00 F | OUV |
16 | Les grandes courants du management | 5.50% | 75.00 F | OUV |
17 | Le mémento du comptable débutant | 5.50% | 226.00 F | OUV |
18 | WebCam Sony | 19.60% | 467.00 F | MOB |
19 | Kit de reconnaissance vocale pour PC | 19.60% | 450.00 F | MOB |
ACTIVITE
1) Lancez ACCESS et ouvrez la base de données
2) table CATEGORIE

a) Créez la structure de la table CATEGORIE :
Le champ CODECAT est de type texte - taille 3 - format : majuscule (>) Le champ LIBELLECAT est de type texte - Taille 25
b) Créez un formulaire de saisie des catégories de produits, le nom du formulaire est « Saisie des catégories de produits »

c) Saisissez les enregistrements de la table CATEGORIE avec le formulaire créé.
3) Table REGLEMENT
a) Créez la structure de la table REGLEMENT :

- Le champ CODEREG est de type numérique - taille : octet - format : 000
- Le champ MODEREG est de type texte - Taille 25 - format : majuscule (>)
b) Saisissez les enregistrements de la table REGLEMENT directement en mode feuille de données

3) Table PRODUIT
a) Créez la structure de la table PRODUITS compte-tenu des contraintes ci-après le champ CODEART est numérique - entier long - format : 00000 le champ DESIGNART a une taille de 50 le champ TVAART est du type numérique - réel simple-format pourcentage avec 2 décimales et ne peut
prendre que deux valeurs : 0,055 ou 0,196. Prévoir le message d’erreur suivant : Erreur de taux de TVA :

le taux de TVA doit être 0,055 ou 0,196 le champ CODECAT a les mêmes propriétés que le champ CODECAT dans la table CATEGORIE (vérifiez donc le type, la taille et les propriétés du champ CODECAT dans la table CATEGORIE)
b) Créez le formulaire de saisie des produits (nom du formulaire : Saisie des produits)
c) Saisissez les enregistrements de la table Produit en utilisant le formulaire créé.

CONNAISSANCES PREALABLES
Une requête est une interrogation de la base de données, par exemple: quels sont les clients habitant à DOUAI ? Quels sont les produits soumis à 19,60% ? Quels sont les clients ayant commandé le produit "XXX" entre le 01/01/01 et le 31/03/01 ?
La manipulation des requêtes se fait en deux temps :

q q formulation de la requête
q q visualisation de la requête : ACCESS affiche le résultat de la requête dans une « feuille de réponse dynamique », c’est à dire que la requête est exécutée en mémoire sans aucune création de table.
Vous allez créer un certain nombre de requêtes à partir de la table CLIENT de la base

ACTIVITE
AU PREALABLE, démarrez ACCESS et ouvrez la base de données
1) On veut obtenir la liste des clients limitée aux champs CODECLI et NOMCLI
q q dans la fenêtre base de données, cliquez sur l’objet Requêtes ,

q q cliquez sur dans la boîte de dialogue Nouvelle requête ou cliquez directement sur
q q dans la boîte de dialogue "AJOUTER UNE TABLE", sélectionnez la table client, cliquez sur "Ajouter" puis sur fermer
3) puis cliquez sur Fermer |
Vous obtenez ensuite la fenêtre REQUETE EN MODE CREATION/MODIFICATION qui se présente comme suit :

On souhaite donc visualiser tous les enregistrements de la table CLIENT mais en ne retenant que les champs CODECLI et NOM : en langage relationnel on appelle cela une PROJECTION.
Pour cela faites glisser le champ CODECLI vers la grille d'interrogation dans la 1ère colonne (sur la ligne Champs)
Puis faites glisser le champ NOMCLI vers la grille d'interrogation (2ème colonne et ligne Champ)

Opération de glisserdéplacer |
|
Truc : on peut également sélectionner un champ directement dans la grille d'interrogation en cliquant dans une cellule de la ligne |
Visualisez le résultat de la requête : cliquez sur le bouton Affichage et sélectionnez le mode Feuilles de données
2) Pour faciliter la lecture des noms on voudrait que ceux-ci soient triés par ordre alphabétique
q q Revenez à la fenêtre requête en mode création : cliquez sur le bouton

q q Dans la grille d'interrogation, sélectionnez la ligne Tri de la colonne comportant le champ NOMCLI
q q Un bouton liste déroulante apparaît, cliquez dessus et sélectionnez l'option Croissant
q q Visualisez le résultat : cliquez sur le bouton Affichage -: mode Feuille de données q q Enregistrez la requête en la nommant : &q

Le responsable commercial de la société PAPETIERE souhaiterait pouvoir lancer un certain nombre d'interrogations relatives à la table PRODUIT. Vous vous dévouez alors pour créer les requêtes appropriées
N° | Objectif de la requête | Nom de la requête (nom de sauvegarde) |
1 | On veut afficher la liste des produits triée sur le nom (incluant tous les champs) | P1 - Produits triés par nom |
2 | On veut afficher la liste des produits limitée au nom et au prix classé par ordre décroissant du prix | P2 - Produits Classés par ordre décroissant de prix |
3 | on veut afficher la liste des produits (nom et prix) soumis à
19.60% |
P3 - Produits soumis à la TVA de
19.60% ![]() |
4 | On veut afficher le nom des produits dont le prix unitaire est compris entre 100 F et 200 F | P4 - Produits dont le prix est compris entre 100 et 200 F |
5 | On veut afficher la liste des produits triée sur le nom (tous les champs) en faisant apparaître le prix de vente T.T.C. en francs et en Euros.
Rappel : 1euro = 6.55957 |
P5 - Liste des produits avec prix de vente T.T.C. en F et en Euro) |
6 | Création d'une requête opération : On veut connaître les différents taux de TVA | P6 - Liste des taux de TVA |
7 | Création d'une requête Opération : on veut connaître pour chaque taux de TVA, le nombre de produits | P7 - Nombre de produits par taux de
TVA |
8 | Création d'une requête paramétrée : on veut que l'affichage d'un code produit provoque l'affichage de l'enregistrement complet relatif à ce produit (voir ci dessous) | P8 - Recherche d’un produit |
Une requête paramétrée est une requête nécessitant l’entrée d’une valeur (d’un paramètre) par l’utilisateur au moment de l’exécution de la requête.

Dans l’exemple du 8 ACCESS demandera à l’utilisateur d’entrée la valeur du paramètre CODE PRODUIT RECHERCHE pour afficher le résultat de la requête.
Mode opératoire :
• ? Créez une nouvelle requête fondée sur la table PRODUIT

• ? Cliquez dans le menu Requête - Paramètre
• ? Saisissez le nom du paramètre : CODE PRODUIT RECHERCHE et le type de données : Entier long
• ? Faites glisser tous les champs dans la grille d’interrogation

• ? Saisissez le critère [CODE PRODUIT RECHERCHE] dans le champ CODEPROD
• ? Visualisez le résultat de la requête : vous devez entrer un n° de produit (entre 1 et 19), par exemple 10
Le résultat est alors le suivant :

CODEART | DESIGNART | TVAART | PUHT | CODECAT |
10 | Ramette papier multi usages | 19.60% | 45.00 F | PAP |
I. CONNAISSANCES PREALABLES
Au cours des étapes précédentes, vous avez créé la table PRODUIT et CATEGORIE. Ces deux tables peuvent être mises en relation car une catégorie de produits comprend plusieurs produits ou encore un produit appartient à une seule catégorie de produits.
Pour qu’il y ait relation entre deux tables, il faut que les deux tables comportent un champ commun.
ATTENTION AUX ABUS DE LANGAGE : Dans la théorie des bases de données relationnelles, le terme relation n'a pas le même sens. Dans La terminologie Access, une relation représente une JOINTURE . S'agissant d'une jointure entre une clé primaire et une clé étrangère, on parle de jointure naturelle.
Par exemple les relations entre les 2 tables apparaissent comme suit dans ACCESS et ont pour champ commun CODECAT :

La table CATEGORIE comporte comme champ CODECAT qui constitue la clé primaire.
La table produit comporte également le champ CODE CAT car chaque produit appartient à une catégorie. On dit que ce champ constitue la clé étrangère de la table PRODUIT.
La relation est du type UN - PLUSIEURS : Une catégorie comporte plusieurs produits.

QUEL EST L’INTERET DES RELATIONS ?
La mise en relation de tables évite la redondance d’informations : par exemple le champ LIBELLECAT n’a pas à figurer dans la table PRODUIT car à partir d’un numéro de produit donné on connaît le codecat qui lui-même nous permettra de connaître, grâce à la relation, le libellé de la catégorie.
COMMENT DETERMINE-T’ON LES RELATIONS A DEFINIR ?

En respectant trois règles :
• ? Le bon sens et la logique prédominent en la matière : par exemple entre la table PRODUIT et la table REGLEMENT il n’y aucune relation logique
• ? les relations doivent être de type UN – PLUSIEURS, ou UN – UN : contre exemple : Il n’y a pas de relation directe possible entre la table PRODUIT et la table CLIENT car plusieurs produits peuvent être achetés par plusieurs clients

• ? la table côté UN comporte une clé primaire et la table côté PLUSIEURS comporte une clé étrangère du même nom
II. Application
Vous allez mettre en relation la table produit et la table catégorie

A. Création des relations entre la table Produit et Catégorie
1. Ouvrez la base de données
2. Activez le menu Outils - relations

3. La boîte de dialogue « Ajouter une table » est affichée à l’écran. Vous devez sélectionner les tables devant être mises en relation (soit PRODUIT et CATEGORIE). Cliquez sur le bouton Ajouter pour ajouter la table sélectionnée et sur le bouton Fermer pour fermer la boîte de dialogue. Vous devez obtenir l’écran suivant :
Remarque : pour déplacer les tables à l’écran pointez le titre de la table et faites glisser.
4. Créez la relation en faisant glisser le champ CODECAT de la table CATEGORIE (côté UN) vers le champ CODECAT de la table PRODUITS (côté PLUSIEURS) (Cf schéma ci-dessus). La boîte de dialogue suivante apparaît :

Cochez la case Appliquer l'intégrité référentielle puis vérifiez que soit cochée la case Une à plusieurs cliquez sur Créer pour terminer. |
||
Remarques : | ||
a) L’intégrité référentielle signifie qu’un code catégorie saisi dans la table PRODUIT doit avoir été au préalable saisi dans la table CATEGORIE. Inversement, si on essaie de supprimer une catégorie donnée de produits (dans la table catégorie) alors qu’il existe des produits appartenant à cette catégorie, ACCESS refusera de supprimer la catégorie concernée. |
Pour créer des relations UN à PLUSIEURS on doit obligatoirement cocher la case Appliquer l’intégrité référentielle
b) La case « Mettre à jour en cascade les champs correspondants », lorsqu’elle est cochée, permet de changer automatiquement les valeurs du champ clé étrangère de la table côté plusieurs lorsqu’on modifie la valeur correspondante de la clé primaire côté un. Pour cela, la case « appliquer l’intégrité référentielle doit être cochée »
c) La case « Effacer en cascade les enregistrements correspondants », lorsqu’elle est cochée, permet de supprimer les enregistrements de la table côté Plusieurs dont la clé étrangère fait référence à une valeur de clé primaire dans la table côté Un que l’on a effacé. En d’autres termes, si on supprime une Catégorie de produit donnée dans la table catégorie, tous les produits de la catégorie donnée seront effacées en cascade. Pour utiliser cette option, il faut « appliquer l’intégrité référentielle ».

5. Pour avoir une représentation concrète de la relation établie entre les tables CATEGORIE et PRODUIT, ouvrez la table CATEGORIE (côté 1) en mode feuille de données :
ACCESS a ajouté à gauche une colonne supplémentaire contenant des symboles +. Ce symbole indique la présence d’enregistrements liés. Un clic sur l’un de ces symboles ouvre les enregistrements liés, cela donne pour la catégorie OUV :
APPLICATION NON GUIDEE :

Créez la relation existante entre la table CLIENT et la table REGLEMENT
I. Créer une requête multi-tables et un formulaire fondée sur une requête
A/ Création de la requête
1. Une requête multi-tables est une requête fondée sur 2 ou plusieurs tables. Vous allez créer une requête permettant d’afficher tous les champs de la table produit et le libellé de la catégorie de produit. Cette requête servira de base à un nouveau formulaire de saisie des produits

2. Dans la fenêtre Base de données, cliquez sur l’onglet Requête puis sur le bouton Nouveau et Requête vierge
3. Sélectionnez les tables PRODUITS et CATEGORIE.
4. Dans la fenêtre Création de requête, faites glisser tous les champs de la table PRODUIT dans la grille d’interrogation (ou mieux faites glisser l’* vers la grille d’interrogation, ce qui produit le même résultat)

5. Faites ensuite glisser le champ LIBELLE CAT. Vous devez obtenir l’écran suivant :
6. Visualisez le résultat de la requête en mode feuilles de données
La feuille de données comporte une ligne vide qui indique qu’on peut ajouter des enregistrements

7. Si les produits ne sont plus classés par ordre croissant du CODEART :
• Revenez en mode création de requête
• Faites glisser le champ CODEART dans la grille d’interrogation

•&