Sie sind auf Seite 1von 54

BASE DE DONNEES

ACCESS

Intervenant : Soad LHARAOUI

SOAD LHARAOUI/CPCF : ACCESS

OBJECTIFS : - Crer la structure dune table


- Dfinir les proprits des champs :
* Formats de champs
* Rgles de validation et messages derreur
- Modifier la structure dune table
- Saisir les Enregistrements de la table
- Crer un formulaire simple avec lassistant
- Saisir des donnes dans un formulaire
- Manipuler un formulaire de saisie
CAS PAPETIERE : PREMIERE PARTIE
I/ CREER UNE TABLE AVEC ACCESS
Pour crer une table trois questions sont se poser :
A/ Quels sont les renseignements dont jaurai besoin? La rponse cette question va dterminer les
champs dfinir pour la table.
B/ Quelle sera la structure de ma table ?
Pour chaque champ de la table on doit dfinir le type de donnes et la taille du champ (nombre
de caractres 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, cest dire un champ ayant une valeur unique
pour chaque enregistrement. Il faut donc prvoir un champ contenant un numro ou un code.
ACCESS gre les types de donnes et les tailles de champ suivants
Types de
Dfinition
Taille du champ
donnes
TEXTE
Contient tout type de caractres (chiffres, Dfini par l'utilisateur, de 1 octet jusqu'
lettres;symbole...)
255 maxi
MEMO
Contient des informations de longueur
Taille variable non paramtrable, de 1
variable; ex : "Ce client est contacter le 32000 caractres
lundi partir de 14 h"
NUMEROAUTO
Attribue chaque enregistrement un
Taille non paramtrable (quivaut la
numro "incrment"
taille entier long)
OUI/NON

NUMERIQUE

MONETAIRE

OLE

Ce type n'admet que deux valeurs :


soit oui/non
soit vrai/faux
soit activ/dsactiv
Ce type correspond des nombres
(donnes qui pourront servir des
calculs)

Taille non paramtrable

Choisissez la taille :
- Octet : nbre compris entre 0 et 255
- Entier (nombre compris entre -32767 et
+ 32767
- Entier long (entre -2 milliard et +
2milliards)
- rl simple (entre -3.40 1038et +3.40
1038)
- Rl double (entre -1.79 10107 et +1.79
10107)
8 octets (taille non paramtrable)

Ce type de donnes conserve en


mmoire tous les chiffres aprs la virgule,
ce qui peut savrer utile pour les
problmes darrondi
Conserve des donnes lies une autre
Jusqu un gigaoctet
application telle quEXCEL
Mmorise des adresses URL de sites Web Jusqu 64000 octets

LIEN
HYPERTEXTE
ASSISTANT LISTE Permet de rechercher une valeur parmi
DE CHOIX
une liste de valeur provenant dune autre
table. Gnralement, les listes de choix
sont utilises pour les cls trangres.
SOAD LHARAOUI/CPCF : ACCESS

DATE/HEURE
Permet d'entrer des dates ou des heures Taille non paramtrable
Remarque : pour les champs de type numrique, 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 rl simple suffit largement)
Le champ de type compteur quivaut en taille "Entier long"
LE THEME
La socit La papetire assure la distribution de fournitures de bureau et accessoires informatiques
auprs d'utilisateurs professionnels. Cette socit 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 crer la table CLIENT appartenant la base de
donnes PAPETIERE.MDB
5) Crez la structure de la table CLIENTS
selon les indications ci-aprs :
Nomp du champ
Type de champ
CODECLI
ENTIER LONG
NOMCLI
TEXTE
ADRCLI
TEXTE
VILLECLI
TEXTE
CODEREG
NUMERIQUE
PAIEMENT
TEXTE
ENCOURSCLI
NUMERIQUE
PLAFONDCLI
NUMERIQUE
CPCLI
NUMERIQUE

Taille du champ
Entier long
40
40
25
ENTIER
21
Rl simple
Rl simple
Entier long
1) Saisissez les noms de champs tels
quils sont dfinis dans le tableau cidessus

2) Slectionnez le type de
donnes en cliquant sur le
bouton liste droulante

3) Slectionnez la taille du champ


en cliquant sur le bouton liste
droulante pour les champs de
type numrique
OU Saisissez le nombre de
caractres pour les champs de
type texte

6) Crez la cl primaire de la table :


Slectionnez le champ CODECLI en cliquant sur le slecteur de champ (bouton situ dans la
marge gauche )
Cliquez sur le bouton cl primaire :
Enregistrez ensuite la table : Menu Fichier - Enregistrer
Nom de la table : CLIENT

7) Vous disposez ci-dessous des cinq premiers enregistrements de la table CLIENT de la socit
PAPETIERE. Votre travail consiste saisir ces enregistrements en mode feuille de donnes .
Enregistrements saisir
SOAD LHARAOUI/CPCF : ACCESS

Code
clien
t
0000
1
0000
2
0000
3

NOMCLI

ADRCLI

Vent du
Sud
Crion

10 rue
Montaigne
15, rue JB
Lebas
Edition du 221,
Cherche
Boulevard de
Midi
la rpublique
0000
Pic Puce
171, route de
4
Valenciennes
0000
Assuranc
12, rue de
5
e Azur
l'Eglise
MODES OPERATOIRES

VILLECLI
LILLE
LILLE
LILLE
SIN LE
NOBLE
SIN LE
NOBLE

PAIEMENT

ENCOURS
CLI

PLAFO
NDCLI

CPCLI

Chque
rception
Chque
rception
Chque
rception

112 000.00
F
29 200.00
F
47 200.00
F

50000

59000

50000

59000

90000

59000

30 jours fin de
mois
30 jours fin de
mois

37 000.00
F
147 000.00
F

130000

59450

100000

59450

1) Cliquez sur le bouton Affichage feuille de donnes


(remarque : la petite flche permet de
slectionner les 2 modes daffichage dune table : feuille de donnes ou cration)
2) Rduisez ou augmentez la taille des colonnes :
pour rduire la colonne CODE CLI faire glisser la marque de
sparation de champ sur la gauche

II/ MODIFIER LA STRUCTURE DUNE TABLE


On va modifier la structure de la table des clients :
en insrant un champ CODEREG
en supprimant le champ PAIEMENT
en dplaant le champ CPCLI pour le positionner avant VILLECLI (ce qui est plus logique)
1) Ouvrez la fentre Cration de table :
* si la table client est encore ouverte en mode feuille de donnes, cliquez sur le bouton
Affichage - Mode cration :
* Si la table client est ferme, slectionnez celle-ci dans la fentre Base de donnes et
cliquez sur le bouton modifier :
2) Cliquer ici pour modifier la
structure de la table

1) Slectionner la table
CLIENT

2) Le mode de paiement tant une donne rptitive, vous allez codifier ce champ (il est plus rapide de
saisir un code plutt quune expression du type CHEQUE A RECEPTION ) on va donc insrer un
nouveau champ : CODEREG juste avant le champ PAIEMENT :
* Pour insrer un champ : on slectionne la ligne avant laquelle on veut insrer le champ (ici on
slectionne la ligne PAIEMENT)

SOAD LHARAOUI/CPCF : ACCESS

Puis on clique sur le menu Edition - insrer une ligne


Vous pouvez maintenant ajouter le champ CODEREG dont le type de donnes est numrique Taille du champ : OCTET
Les valeurs prises par le champ CODEREG sont les suivantes en fonction du mode de paiement :
CODE REG
PAIEMENT
1
Chque rception
2
30 jours fin de mois
3
60 jours fin de mois
4
90 jours fin de mois
5
Chque 60 jours
3) Mettez jour le contenu du champ CODEREG pour les cinq enregistrements saisis prcdemment :
Basculez en mode feuille de donnes 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 :
Slectionnez le champ PAIEMENT
Cliquez sur le menu Edition - supprimer ligne
5) Dplacement du champ CPCLI
Basculez en mode cration de table (cliquer sur le bouton Cration de table
Slectionnez la ligne contentant le champ CPCLI :

2) On fait glisser le champ CPCLI sur


le champ VILLECLI

1) On slectionne cette ligne dans la marge

III/ PARAMETRER LES PROPRIETES DAFFICHAGE ET DEFINIR DES CONTROLES DE SAISIE


On va amliorer la table CLIENT en :
dfinissant une lgende de certains champ (le champ CPCLI, par exemple est
incomprhensible, sa lgende sera Code postal)
dfinissant une description qui apparatra dans la barre dtat (par exemple, la lgende du
champ CPCLI sera Entrez le code postal du client )
dfinissant un format personnalis pour certains champs : par exemple le champ VILLECLI sera
au format majucule, le champ code client sera au format 00000 ...)
dfinissant des rgles de validation : exemple : le champ CPCLI doit tre compris entre 01000
et 95000
dfinissant des messages derreur si les rgles de validation ne sont pas respectes.
Informations
LE FORMAT DAFFICHAGE
Le format d'un champ dfinit la manire dont doivent tre prsentes les donnes. On peut utiliser
dans certains cas des formats prdfinis ou alors personnaliser son format (pour les formats
prdfinis faites donc des essais!!!)
Exemples de formats personnaliss ( dfinir dans la proprit FORMAT de la table en mode
cration :
DONNES DE TYPE TEXTE (ET MMO) : UTILISEZ LES CARACTRES
SUIVANTS :
SOAD LHARAOUI/CPCF : ACCESS

Code de
format
>
<
@ (<Alt
Gr>0)

Description - Exemples
Tous les caractres du champ seront en majuscules
Tous les caractres du champ seront en minuscules
permet de personnaliser laffichage des caractres Exemple : pour personnaliser un n de
tlphone on peut dfinir le format suivant : @@-@@-@@-@@-@@
Si on saisit la valeur 0127988862, l'affichage sera le suivant : 01-27-98-88-62

DONNES DE TYPE NUMERIQUES : UTILISEZ LES CARACTRES


SUIVANTS :
Code de
format
# (<Alt
Gr>3)
0
%
F ou

Description - Exemples
Dsigne un chiffre. Exemple : soit le format "N de code "### ### . En entrant la
valeur 411214 ACCESS affichera : N de code 411 214
Exemple : 000 : la valeur 7 sera affiche 007
Format pourcentage Ex : 0,12 entraine l'affichage de la valeur 12%
Affiche le symbole F(ranc) ou (uro), utiliser plutt le format "Montaire"

LES RGLES DE VALIDATION ET LES MESSAGES DERREUR


LES REGLES DE VALIDATION limitent les valeurs que doit prendre le champ et permettent donc un
contrle de saisie
LES MESSAGES DERREUR : lorsquune rgle de validation a t dfinie, on peut provoquer
laffichage dun message en cas derreur.
ACCESS utilise des EXPRESSIONS DE VALIDATION en Franais.
Par exemple dans la proprit "VALIDE SI " on peut utiliser les expressions suivantes :
EXPRESSIONS DE VALIDATION
="FRANCE"
ENTRE "01000" ET "95000"
DANS("PARIS";"LYON";"LILLE")
COMME("P[A-F]###")

LES DONNES DOIVENT


Etre gales "FRANCE"
Comprises entre "01000" et
"95000"
Etre "PARIS";"LYON" ou "LILLE"

MESSAGE SI ERREUR
Le pays saisi doit tre la France
Le code postal nest pas valide
La ville doit tre PARIS, LYON ou
LILLE

avoir la 1re lettre commenant


par Pet la deuxime comprise
entre A et F

ACTIVITE
Paramtrez les proprits de certains champs de la table CLIENT en tenant compte des indications cidessous
Nom du
champ
CODECLI
VILLECLI
CPCLI

PLAFONDCLI
ENCOURSCLI

Description

Lgende
Code
client

Entrez le code postal

Saisissez la ligne de
crdit maximal autoris
Saisissez lencours de
crdit utilis

CODEREG

SOAD LHARAOUI/CPCF : ACCESS

Code
Postal

Format

Rgle de validation/message
derreur

00000
En majuscule
@@@@@

Valide si :
Entre 01000 Et 95999
Message si erreur :
Le code postal doit tre compris
entre 01000 et 95999

Montaire en
euro
Montaire en
euro
Valide si :
Entre 1 Et 5
Message si erreur :
Le code de rglement doit tre
compris entre 1 et 5
6

Elments de modes opratoires :


Slectionnez le champ dont les proprits sont modifier
Paramtrez la ou les proprits concernes
Astuces : pour la proprit Valide si, Access convertit la premire lettre de chaque mot cl en
majuscule. Sil ne le fait pas, cela traduit une erreur
4) Vous allez vrifier les formats et les rgles de validation en saisissant les cinq
suivants de la table CLIENT :
Code
NOMCLI
ADRCLI
code
VILLECLI
C
PAIEMENT
client
postal
ODE
REG
0000 Mcanord
ZAC les
59450 SIN LE
3 60 jours fin de
6
Epis
NOBLE
mois
0000 Le soleil de
125,
59500 DOUAI
4 90 jours fin de
7 Tunis
place du
mois
Barlet
0000 Joue Club
356, rue
59500 DOUAI
4 90 jours fin de
8
de Bellain
mois
0000 Micropuce
147, rue
59500 DOUAI
3 60 jours fin de
9
de Paris
mois
0001 Centre
15, rue de 59187 DECHY
3 60 jours fin de
0 franais de
Saint
mois
restauration Sulpice
Basculez en mode Feuille de donnes et effectuez la saisie.

enregistrements
ENCOURSC
LI

PLAFOND
CLI

269 000.00
F
29 600.00
F

280000

176 200.00
F
72 350.00
F
294 150.00
F

190000

50000

95000
310000

IV/ CREER UN FORMULAIRE DE SAISIE


1) La saisie directe dans la table client nest pas agrable, aussi vous allez crer un formulaire de saisie
que vous appellerez :
Saisie modification des clients
Mode opratoire :
- Fermez la table CLIENTS,
- Dans la fentre base de donnes, slectionnez lobjet
- Cliquez sur le bouton Nouveau
1) Slectionnez lassistant formulaire

2) Slectionnez la table client

- Slectionnez ensuite tous les champs faire figurer dans le formulaire :

SOAD LHARAOUI/CPCF : ACCESS

1) slectionnez chaque champ devant figurer dans le


formulaire
2) Cliquez sur ce bouton pour faire passer un champ
la fois dans la zone de droite.

2)Ou cliquez sur ce bouton pour faire tous les champs


en une fois dans la zone de droite.

3) cliquez ici pour


passer la suite

- Slectionnez ensuite le modle Colonne simple


- Choisissez un style de prsentation (cest une affaire de got)

- Saisissez le titre au formulaire : Saisie/Modification des clients

Pour changer la prsentation du


formulaire, cocher cette case

Le rsultat obtenir est le suivant :

SOAD LHARAOUI/CPCF : ACCESS

Ces boutons permettent


enregistrements:
- 1er enregistrement
- enregistrement prcdent
- enregistrement suivant
- dernier enregistrement

de

se

dplacer

dans

les

2) Vous allez saisir les sept derniers enregistrements de la table CLIENT en utilisant le formulaire
prcdent :
C
ode
clien
t
0001
1
0001
2

NOMCLI

ADRCLI

code
post
al

Lyce
Rambau
x
Briko
Boutik

105, rue
Paul
Foucaut
124, Bd
Jeanne de
Flandres
07, place
Saint Am
12, rue de
Maupassa
nt
rue des
Cytises
14, rue
des prs

5945
0

SIN LE
NOBLE

5926
5

AUBENCHEU
L AU BAC

5950
0
5965
0

147, rue
Bollaert

0001
3
0001
4

Carbone
Copy
SriTech

0001
5
0001
6

Bertema
n Inc.
Bils
Deroo
Transpor
t
Ets Mario
Land

0001
7

VILLECLI

C
ODE
REG

ENCOURS
CLI

PLAFOND
CLI

Chque
rception

503 200.00
F

500000

Chque 60
jours

24 350.00 F

80000

DOUAI

3
3

116 000.00
F
263 000.00
F

180000

VILLENEUVE
D'ASCQ

60 jours fin
de mois
60 jours fin
de mois

6222
1
5911
9

NOYELLES
SOUS LENS
WAZIERS

60 jours fin
de mois
90 jours fin
de mois

128 000.00
F
178 000.00
F

97000

6230
0

LENS

30 jours fin
de mois

60 000.00 F

PAIEMENT

310000

195000

60000

CAS PAPETIERE : DEUXIEME PARTIE


AUTO-EVALUATION : CREATION DE TABLES, DE FORMULAIRES SIMPLES ET SAISIE
LE THEME
Vous devez complter la base de donnes de la socit PAPETIERE en crant les tables
- REGLEMENT,
- CATEGORIE de produits,
- PRODUIT.
Vous devrez crer les formulaires de saisie correspondants afin de saisir les donnes.
Le contenu des tables crer 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

CODEART
SOAD LHARAOUI/CPCF : ACCESS

PRODUIT
DESIGNART

CATEGORIE
CODECAT
ACC
MOB
OUV
PAP
TVAART

LIBELLECAT
Accessoires
fournitures
Mobilier petit
matriel
Ouvrages
Papeterie
PUHT

CODECAT
9

1
2
3
4
5
6
7

Transparents photocopieurs/10
Transparents manuels/10
Stylo transparents effaables
Stylo transparents permanents
Botes de disquettes 3,5''/10
Bote de CD-R 74 mn/10
Bote de CD-RW /10

19.60%
19.60%
19.60%
19.60%
19.60%
19.60%
19.60%

Calulatrice scientifique Cazio

19.60%

9
10
11
12

Calculette Euro
Ramette papier multi usages
Papier qualit photo /20
Support mural pour moniteur

19.60%
19.60%
19.60%
19.60%

13

Filtre anti-reflet pour moniteur

19.60%

14

Crer un site avec Front Page

5.50%

15

Programmation en javascript

5.50%

16
17

Les grandes courants du management


Le mmento du comptable dbutant

5.50%
5.50%

18

WebCam Sauni

19.60%

19

Kit de reconnaissance vocale pour PC

19.60%

30.00 F
13.50 F
7.50 F
7.50 F
35.00 F
99.00 F
152.00
F
225.00
F
27.00 F
45.00 F
58.00 F
352.00
F
159.00
F
125.00
F
250.00
F
75.00 F
226.00
F
467.00
F
450.00
F

ACC
ACC
ACC
ACC
MOB
MOB
MOB
MOB
MOB
PAP
PAP
MOB
MOB
OUV
OUV
OUV
OUV
MOB
MOB

ACTIVITE
1) Lancez ACCESS et ouvrez la base de donnes PAPETIERE.MDB
2) table CATEGORIE
a) Crez 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) Crez un formulaire de saisie des catgories de produits, le nom du formulaire est Saisie des
catgories de produits
c) Saisissez les enregistrements de la table CATEGORIE avec le formulaire cr.
3) Table REGLEMENT
a) Crez la structure de la table REGLEMENT :
- Le champ CODEREG est de type numrique - 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 donnes
3) Table PRODUIT
a) Crez la structure de la table PRODUITS compte-tenu des contraintes ci-aprs
le champ CODEART est numrique - entier long - format : 00000
le champ DESIGNART a une taille de 50
le champ TVAART est du type numrique-rl simple-format pourcentage avec 2 dcimales et
ne peut prendre
que deux valeurs : 0,055 ou 0,196. Prvoir le message derreur suivant : Erreur
de taux de TVA : le taux de TVA doit tre 0,055 ou 0,196
le champ CODECAT a les mmes proprits que le champ CODECAT dans la table CATEGORIE
(vrifiez donc le type, la taille et les proprits du champ CODECAT dans la table CATEGORIE)
SOAD LHARAOUI/CPCF : ACCESS

10

b) Crez 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
LES REQUETES MONO-TABLE
AUTOEVALUATION
Le responsable commercial de la socit PAPETIERE souhaiterait pouvoir lancer un certain nombre
d'interrogations relatives la table PRODUIT. Vous vous dvouez alors pour crer les requtes
appropries
N

Objectif de la requte

On veut afficher la liste des produits trie sur le nom


(incluant tous les champs)
On veut afficher la liste des produits limite au nom et au
prix class par ordre dcroissant du prix
on veut afficher la liste des produits (nom et prix) soumis
19.60%
On veut afficher le nom des produits dont le prix unitaire
est compris entre 100 F et 200 F
On veut afficher la liste des produits trie sur le nom (tous
les champs) en faisant apparatre le prix de vente T.T.C. en
francs et en Euros.
Rappel : 1euro = 6.55957
Cration d'une requte opration : On veut connatre les
diffrents taux de TVA
Cration d'une requte Opration : on veut connatre pour
chaque taux de TVA, le nombre de produits
Cration d'une requte paramtre : on veut que
l'affichage d'un code produit provoque l'affichage de
l'enregistrement complet relatif ce produit
(voir ci dessous)

2
3
4
5

6
7
8

Nom de la requte (nom de


sauvegarde)
P1 - Produits tris par nom
P2 - Produits Classs par ordre
dcroissant de prix
P3 - Produits soumis la TVA de
19.60%
P4 - Produits dont le prix est
compris entre 100 et 200 F
P5 - Liste des produits avec prix
de vente T.T.C. en F et en Euro)
P6 - Liste des taux de TVA
P7 - Nombre de produits par taux
de TVA
P8 - Recherche dun produit

Une requte paramtre est une requte ncessitant lentre dune valeur (dun paramtre) par
lutilisateur au moment de lxcution de la requte.
Dans lexemple du 8 ACCESS demandera lutilisateur dentre la valeur du paramtre CODE PRODUIT
RECHERCHE pour afficher le rsultat de la requte.
Mode opratoire :
Crez une nouvelle requte fonde sur la table PRODUIT

Cliquez dans le menu Requte - Paramtre


Saisissez le nom du paramtre : CODE PRODUIT RECHERCHE et le type de donnes : Entier long

Faites glisser tous les champs dans la grille dinterrogation


Saisissez le critre [CODE PRODUIT RECHERCHE] dans le champ CODEPROD

SOAD LHARAOUI/CPCF : ACCESS

11

Visualisez le rsultat de la requte : vous devez entrer un n de produit (entre 1 et 19), par exemple
10

Le rsultat est alors le suivant :


CODEART
DESIGNART
10 Ramette papier multi usages

TVAART
19.60%

PUHT
45.00 F

CODECAT
PAP

Cas Papetire : 3me partie Utiliser Access avec plusieurs tables


UTILISER ACCESS AVEC PLUSIEURS TABLES
PREMIERE SOUS-PARTIE : Dfinir des relations simples (page 1/1)
I. CONNAISSANCES PREALABLES
Au cours des tapes prcdentes, vous avez cr la table PRODUIT et CATEGORIE. Ces deux tables
peuvent tre mises en relation car une catgorie de produits comprend plusieurs produits ou encore
un produit appartient une seule catgorie de produits.
Pour quil y ait relation entre deux tables, il faut que les deux tables comportent un champ commun.
Par exemple les relations entre les 2 tables apparaissent comme suit dans ACCESS et ont pour champ
commun CODECAT :
Cl primaire
ATTENTION AUX ABUS DE LANGAGE :
Dans la thorie des bases de donnes relationnelles, le terme
relation na pas le mme sens. Dans La terminologie Access, une
relation reprsente une JOINTURE. Sagissant dune jointure
entre une cl primaire et une cl trangre, on parle de jointure
naturelle.
Relation

Cl trangre

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
catgorie. On dit que ce champ constitue la cl trangre de la table PRODUIT.
La relation est du type UN - PLUSIEURS : Une catgorie comporte plusieurs produits.
QUEL EST LINTERET DES RELATIONS ?
La mise en relation de tables vite la redondance dinformations : par exemple le champ LIBELLECAT
na pas figurer dans la table PRODUIT car partir dun numro de produit donn on connait le
codecat qui lui-mme nous permettra de connatre, grce la relation, le libell de la catgorie.
COMMENT DETERMINE-TON LES RELATIONS A DEFINIR ?
En respectant trois rgles :

SOAD LHARAOUI/CPCF : ACCESS

12

Le bon sens et la logique prdominent en la matire : par exemple entre la table PRODUIT et la table
REGLEMENT il ny aucune relation logique
les relations doivent tre de type UN PLUSIEURS, ou UN UN : contre exemple : Il ny a pas de
relation directe possible entre la table PRODUIT et la table CLIENT car plusieurs produits peuvent
tre achets par plusieurs clients
la table ct UN comporte une cl primaire et la table ct PLUSIEURS comporte une cl trangre
du mme nom

II. Application
Vous allez mettre en relation la table produit et la table catgorie
A. Cration des relations entre la table Produit et Catgorie
1. Ouvrez la base de donnes PAPETIERE.MDB
2. Activez le menu Outils - relations
3. La bote de dialogue Ajouter une table est affiche lcran. Vous devez
slectionner les tables devant tre mises en relation (soit PRODUIT et
CATEGORIE). Cliquez sur le bouton Ajouter pour ajouter la table slectionne et
sur le bouton Fermer pour fermer la bote de dialogue. Vous devez obtenir
lcran suivant :

Remarque : pour dplacer les tables lcran pointez le titre de la table et faites glisser.
4. Crez la relation en faisant glisser le champ CODECAT de la table CATEGORIE
(ct UN) vers le champ CODECAT de la table PRODUITS (ct PLUSIEURS) (Cf
schma ci-dessus). La bote de dialogue suivante apparat :
Cochez la case Appliquer lintgrit rfrentielle puis vrifiez que
soit coche la case Une plusieurs cliquez sur Crer pour terminer.

Remarques :
a) Lintgrit rfrentielle signifie quun code catgorie saisi dans la table PRODUIT doit avoir t au
pralable saisi dans la table CATEGORIE. Inversement, si on essaie de supprimer une catgorie
donne de produits (dans la table catgorie) alors quil existe des produits appartenant cette
catgorie, ACCESS refusera de supprimer la catgorie concerne.
Pour crer des relations UN PLUSIEURS on doit obligatoirement cocher la case Appliquer
lintgrit rfrentielle
b) La case Mettre jour en cascade les champs correspondants , lorsquelle est coche, permet de
changer
automatiquement les valeurs du champ cl trangre de la table ct plusieurs lorsquon modifie la
valeur correspondante de
la cl primaire ct un. Pour cela, la case appliquer lintgrit rfrentielle doit tre coche
c) La case Effacer en cascade les enregistrements correspondants , lorsquelle est coche, permet
de supprimer les enregistrements de la table ct Plusieurs dont la cl trangre fait rfrence une
valeur de cl primaire dans la table ct Un que lon a effac. En dautres termes, si on supprime une
Catgorie de produit donne dans la table catgorie, tous les produits de la catgorie donne seront
effaces en cascade. Pour utiliser cette option, il faut appliquer lintgrit rfrentielle .
5. Pour avoir une reprsentation concrte de la relation tablie entre les tables CATEGORIE et PRODUIT,
ouvrez la table CATEGORIE (ct 1) en mode feuille de donnes :

SOAD LHARAOUI/CPCF : ACCESS

13

ACCESS a ajout gauche une colonne supplmentaire contenant des symboles +. Ce symbole indique
la prsence denregistrements lis. Un clic sur lun de ces symboles ouvre les enregistrements lis, cela
donne pour la catgorie OUV :

APPLICATION NON GUIDEE :


Crez la relation existante entre la table CLIENT et la table REGLEMENT.
UTILISER ACCESS AVEC PLUSIEURS TABLES
Deuxime sous-partie : Crer une requte et un formulaire multi-tables
I. Crer une requte multi-tables et un formulaire fonde sur une requte
A/ Cration de la requte
1. Une requte multi-tables est une requte fonde sur 2 ou plusieurs tables. Vous allez crer une
requte permettant dafficher tous les champs de la table Produit et le libell de la catgorie de
produit. Cette requte servira de base un nouveau formulaire de saisie des produits.
2. Dans la fentre Base de donnes, cliquez sur longlet Requte puis sur le bouton Nouveau et
Requte vierge
3. Slectionnez les tables PRODUITS et CATEGORIE.
4. Dans la fentre Cration de requte, faites glisser tous les champs de la table PRODUIT dans la
grille dinterrogation (ou mieux faites glisser l* vers la grille dinterrogation, ce qui produit le mme
rsultat)
5. Faites ensuite glisser le champ LIBELLE CAT. Vous devez obtenir lcran suivant :
ACCESS applique la relation UN-PLUSIEURS dfinie prcdemment ( la relation
sappelle ici une jointure). Linconvnient est quon ne peut pas ajouter
denregistrements. Pour ce faire, dsactivez la relation un-plusieurs :
- Slectionnez la jointure en cliquant dessus
- Appuyez sur la touche Suppr (les symboles 1-plusieurs ont disparu mais la jointure
reste)

Avec une requte Multi-tables il est conseill


dafficher le nom des tables (menu : Affichage
Nom des tables)

6. Visualisez le rsultat de la requte en mode feuilles de donnes


La feuille de donnes comporte une ligne vide qui indique quon peut ajouter des enregistrements
7. Si les produits ne sont plus classs par ordre croissant du CODEART :
Revenez en mode cration de requte
Faites glisser le champ CODEART dans la grille dinterrogation
Slectionnez loption de tri croissant
Dsactivez loption afficher pour viter le double affichage du code produit
Vrifiez le rsultat en mode feuilles de donnes
8. Enregistrez la requte sous le nom Requte formulaire produits
B/ Cration du formulaire

SOAD LHARAOUI/CPCF : ACCESS

14

Crez le formulaire 2 Saisie/modification des produits , ce formulaire est fond sur la requte
nomme Requte formulaire produits et doit tre ralise avec lassistant. A un moment donn
lassistant propose de choisir entre un affichage par CATEGORIE ou un affichage par PRODUIT :

Choisissez par PRODUIT de manire avoir un tri des donnes par produit plutt que par
catgorie. Choisissez une prsentation permettant un affichage par produit (par exemple la
prsentation Justifi ) et un style (selon votre got).
Saisissez le titre du formulaire : 2 Saisie/Modification du formulaire .

Pour terminer, ouvrez le formulaire en mode formulaire (choix par dfaut propos dans le
dernier assistant).
Vous devez obtenir ceci :

UTILISER ACCESS AVEC PLUSIEURS TABLES : 3me sous-partie : Crer une zone de liste modifiables
C/ Modification du formulaire
Vous allez effectuer des modifications dans la prsentation du formulaire 2 Saisie/Modification des
produits , en particulier en remplaant le contrle CODECAT par un bouton liste modifiable :
Rsultat obtenir au final :
Ce bouton permet de choisir les codes catgories .

A partir des libells de la catgorie. Donc inutile dapprendre


les codes par cur J

QUELQUES PRECISIONS :
Le formulaire 2 Saisie Modification/des produits se prsente comme suit en mode cration :

Etiquettes

Zone de texte
La grille permet dajuster la position des
lments lcran. Cette grille napparait
pas en mode formulaire
Les diffrents lments apparaissant dans ce formulaire sont
contrles Il existe diffrents types de contrle :

Pour slectionner un contrle, on clique sur sa bordure


appels des

Zones de texte : ils correspondent des champs de tables ou

Etiquettes : contiennent la lgende des champs ou un texte

de requtes

fixe
ici, la zone de texte PUHT et son tiquette ont t slectionnes

SOAD LHARAOUI/CPCF : ACCESS

15

Pour dplacer une zone de texte et ltiquette associe, on pointe la bordure et on fait glisser
(le pointeur prend la forme dune main : )
Pour dplacer un des deux lments, on pointe le coin suprieur gauche du contrle (Le curseur
prend la forme dun doigt )
Pour supprimer un contrle on le slectionne et on appuie sur la touche Suppr.
Remarque : la suppression dune zone de texte nentraine aucunement la suppression du champ
de la table ou requte source.

ACTIVITE :
Slectionnez les tiquette et zone de texte CODECAT et supprimez les

Crez un bouton liste droulante en cliquant sur le bouton Liste modifiable

de la barre
doutils Bote outils (si celle-ci nest pas affiche : slectionnez le menu Affichage Barres
doutils - Bote outils). Le pointeur prend la forme dune croix avec un petit rectangle
Ajoutez et alignez le champ CODECAT la place du contrle CODECAT que vous venez de
supprimer
Compltez les botes de dialogue successives de lAssistant zone de liste :

la recherche des lments provient dune table


Slectionnez la table CATEGORIE dans la liste :

Les colonnes inclure dans la zone de liste sont CODECAT et LIBELLECAT :

Rduisez la largeur de la colonne contenant le code cat et largissez celle du libell cat
Dcochez cette case (voir remarque ci-aprs)

Pour modifier la taille, faites glisser droite ou gauche la colonne

Remarque : Comme le champ LIBELLECAT est dj affich dans le formulaire, on doit ici afficher le
champ CODECAT, cest pourquoi, il faut dcocher la case Colonne cl cache . Si laffichage de la
cl ntait pas important pour lutilisateur, on aurait pu simplement afficher le LIBELLECAT (et laisser
la case coche)
La valeur utilisable est CODECAT :
Ici on vous demande en fait quelle valeur vous souhaitez afficher.
Comme on souhaite afficher la valeur du CODECAT, on slectionne
ce champ

La valeur choisie est stocker dans le champ CODECAT (de la table PRODUIT) :

SOAD LHARAOUI/CPCF : ACCESS

16

Il faut indiquer ACCESS que la valeur slectionne met jour le champ


CODECAT de la requte source (qui sappuie sur la table CATEGORIE)

Ltiquette de la zone de liste (en quelque sorte sa lgende) est CODECAT :

Il ne reste plus qu positionner correctement les tiquette et zone de liste modifiable CODECAT
correctement sur la grille
Testez le formulaire (cliquez sur le bouton Affichage - mode formulaire)

Saisissez lenregistrement suivant :


20 Tout sur Merise 2 - 5,50% - 120 F - catgorie : ouvrage
REMARQUE :
La cration dune zone de liste modifiable peut se faire automatiquement si et seulement si, lors de la
cration du champ CODECAT dans la table PRODUIT on dfinit une liste de choix :
La table PRODUIT est ouverte en mode cration et le champ CODECAT est slectionn :
Dans la fentre des proprits on slectionne Liste de choix
On slectionne le contrle
On slectionne la source des donnes
On slectionne la table source
On slectionne colonne contenant CODECAT dans la table CATEGORIE
(soit la colonne 1)
On slectionne Le nombre de colonnes afficher lorsquon clique sur le
bouton Liste droulante

Revenez en mode cration de formulaire pour amliorer la prsentation :


Ce contrle a t largi avec la souris

Ces contrles ont t dplacs

Attention: pour que les donnes lintrieur du rectangle


orange soient accessibles, le rectangle doit tre en
arrire-plan (aprs avoir slectionn le rectangle, menu
Format Arrire-plan)

Cadre dessin avec loutil Rectangle


et le bouton 3D Enfonc :
et une taille de bordure de 4:

Utilisez les boutons suivants pour dfinir les couleurs :


Couleur darrire-plan

Couleur de police

Couleur de bordure

Visualisez le formulaire en cliquant sur le bouton Affichage Mode formulaire


Le coin des experts : Essayez de modifier la valeur contenue dans le champ LIBELLE CAT. Que se
passe-t-il ? Comment rsoudre le problme ?
APPLICATION NON GUIDEE
SOAD LHARAOUI/CPCF : ACCESS

17

Crez une requte multi tables fonde sur CLIENT et REGLEMENT permettant dafficher lensemble

des champs de la table CLIENT et le libell du mode de rglement. Attention la position du champ
Libell rglement qui doit tre plac aprs CODE REG. ENREGISTREZ LA REQUTE SOUS LE NOM :
REQUETE FORMULAIRE CLIENTS
Crez un formulaire de saisie de type Colonne simple fonde sur la requte prcdente.
ENREGISTREZ LE FORMULAIRE SOUS LE NOM : 2 Saisie/Modification des clients
Personnalisez ce formulaire votre got mais en prvoyant un contrle liste modifiable la
place du champ CODEREG.
UTILISER ACCESS AVEC PLUSIEURS TABLES Quatrime sous-partie : Crer un tat
Les Etats

Alors quun formulaire permet laffichage lcran, un tat permet dimprimer des donnes soit sous
forme de fiches soit sous forme de tableau.
On veut imprimer le catalogue des produits classs par code croissant et connatre le nombre de
rfrences pour chaque catgorie
CONNAISSANCES PREALABLES : Structure dun ETAT
Un tat comporte plusieurs sections :
Entte dETAT
CATALOGUE DES PRODUITS

Date : 20/11/2001

Entte de page
LIBELLECAT

CODEART

DESIGNART
Entte de groupe (Libelle cat)

TVAART

PUHT

19.60%
19.60%

30.00 F
13.50 F

******

******

Accessoires Fournitures
1
2
******
Nombre darticles de la catgorie

Dtail
Transparents.
Transparents
manuels
*********
Pied de groupe (Libelle cat)
4
Pied de page

PAGE 1/x
PIED DETAT
COMMENTAIRE :
les sections sont hirarchises

La section Entte dETAT apparat une seule fois sur la 1re page de ltat et la section Pied dtat

apparat la fin de ltat en dernire page


Les sections Entte et Pied de page apparaissent sur chaque page : en entte on indique
gnralement les tiquettes de champs
Les sections enttes et pieds de groupe permettent de regrouper plusieurs enregistrements par
catgorie (dans lexemple le regroupement se fait par Libell de catgorie - La premire catgorie
est Accessoires Fournitures qui regroupe 6 enregistrements.
La section dtail est le niveau de base : Dans lexemple la section Dtail contient les
enregistrements relatifs aux produits.

ACTIVITES :

SOAD LHARAOUI/CPCF : ACCESS

18

1. Crez, laide de lassistant Etat, lEtat CATALOGUE DES PRODUITS fonde sur la
requte Requte formulaire produits :

Revenez dans la fentre Base de donnes


Slectionnez lobjet Etat
Cliquez sur longlet Nouveau
Etape 1 :Dans la liste des tables et requtes, slectionnez la requte Requte formulaire des
produits

Slectionnez tous les champs

Etape 2 : Slectionnez loption de regroupement par CATEGORIE

Etape 3 : Il est possible dterminer un sous-niveau de regroupement (on pourrait par exemple
demander un regroupement par taux de TVA)

Etape 4 : Dfinition des critres de tri

SOAD LHARAOUI/CPCF : ACCESS

19

Les options de synthse permettent de calculer des sommes, des moyennes sur des champs
numriques. Dans lapplication prsente, elles ne prsentent aucun sens (on ne va pas additionner des
taux de TVA ou des prix unitaires).

Etape 5 : le choix dune prsentation


Slectionnez la prsentation ici

Slectionnez lorientation de ltat

Evite que les champs ne soient coups

UTILISER ACCESS AVEC PLUSIEURS TABLES


Quatrime sous-partie : Crer un tat (page 2/2)
Etape 6 : Choix dun style

Etape 7 : Saisissez le titre de ltat : CATALOGUE DES PRODUITS puis cliquez sur le bouton
Terminer

Visualisez ltat en mode aperu :

SOAD LHARAOUI/CPCF : ACCESS

20

1. Modification de lEtat
On aimerait avoir pour chaque groupe de produits le nombre de produits du groupe. Pour cela il faut
afficher la section Pied de groupe , puis y inclure un contrle zone de texte contenant une formule de
calcul.
a) Afficher un pied de groupe :
Basculer en mode cration
Menu Affichage Trier et grouper

Mettre cette valeur Oui

b) crer une zone de texte


Dans la barre doutils Bote outil slectionnez loutil zone de texte
Dans le pied de groupe prcdemment affich, dessinez la zone de texte (largeur 4cm), vous devez
obtenir ceci :

Dplacez lensemble pour le positionner gauche,


Changez le texte de ltiquette (Texte21 par exemple) pour indiquer : Nbre de Produits
Dans la zone de texte remplacez la valeur Indpendant par la formule suivante :
= Compte([CODE
PROD])
Modifiez la largeur des contrles et vrifiez en mode aperu avant impression :
Vous devez obtenir ceci (pour la catgorie ouvrages par exemple) :

Enregistrez ltat sous le nom : Catalogue des produits puis imprimez


APPLICATION NON GUIDEE FACULTATIVE
On voudrait raliser un Etat Liste des clients class par code client. Les champs prvoir sont :
CODECLI, NOMCLI, RUECLI, CPCLI, VILLECLI, CODEREG, LIBELLEREG, ENCOURSCLI, PLAFONDCLI
Cet tat sera fond sur la requte Requte formulaire clients cre dans lapplication non guide
facultative
SOAD LHARAOUI/CPCF : ACCESS

21

LES FORMULAIRES ET LES SOUS FORMULAIRES


Les dirigeants de la socit Papetire souhaiteraient maintenant grer les commandes des clients.
Vous allez donc laborer la structure des tables ncessaires et raliser un formulaire de saisie des
commandes.
ANALYSE DU PROBLEME :
Examinez le bon de commande ci-dessous :
ETS
BUROMAT

COMMANDE N1

du 15/03/2001
Code client : 00007
Le Soleil de Tunis
125, place du Barlet
59500 DOUAI
Qts commandes

Code
4 90 jours fin de mois
rglement
Code produit
Dsignation
P.U.
H.T.
% TVA
00006
Bote de CD-R 74 mn/10
20
00012
Support mural pour
4
moniteur
00014
Crer un site avec Front
2
Page
00001
Transparents
100
photocopieurs/10
Entourez en vert les donnes saisir - en rouge les donnes qui saffichent automatiquement et en
bleu les donnes calcules.
De quelles tables sont issues les donnes qui saffichent automatiquement ?
CONCLUSION :
Pour enregistrer les commandes des clients on doit crer deux tables :
REMARQUE : Il est inutile dinclure le nom, ladresse du client... car ces
donnes sont contenues dans la table CLIENT.

COMMANDE
NOCOM
DATE COM
CODECLI

Cl primaire de la table
COMMANDE

On vite ainsi la REDONDANCE de donnes responsable dune surcharge


inutile du disque dur.

Cl trangre de la table
COMMANDE. Ce champ permettra
dtablir une relation avec la table
CLIENT

LIGNECOMMANDE
NO COM+CODEPROD
DATECOM
QTESCOM

UNE BASE DE DONNEES OPTIMISEE EST UNE BASE DE DONNEES


SANS REDONDANCE

La cl primaire est compose du numro de comande ET dun code produit. Car la


quantit commande dpend la fois du N de commande et du code produit. On pourra
ainsi tablir une relation (jointure) entre :
la table commande et la table LIGNE COMMANDE
et
La table LIGNE COMMANDE et PRODUIT

ACTIVITES PRATIQUES
I. CREATION DES TABLES COMMANDE ET LIGNE COMMANDE
1. Ouvrez la base de donnes PAPETIERE.MDB
2. Crez la structure de la table COMMANDE (Objet Table - Bouton Nouveau)
- Indications relatives la structure de la table commande :

NOCOM

Type NumroAuto - Format : 00000 (Le n de commande sera


automatique)
DATECOM Type Date et heure - Format : Date abrge

CODECLI

Type Numrique - Entier long - Format 00000 (Comme dans la table

client)
RESPECTEZ SCRUPULEUSEMENT LE NOM DES CHAMPS CLES PRIMAIRES ET CLES
ETRANGERES POUR ETABLIR ULTERIEUREMENT DES RELATIONS FACILEMENT.
SOAD LHARAOUI/CPCF : ACCESS

22

3. Dfinissez la cl primaire (champ NOCOM)


4. Enregistrez la table sous le nom : COMMANDE
5. Crez la structure de la table LIGNE COMMANDE
- Indications relatives la structure de la table commande :

NOCOM

Type Numrique - Entier long - Format 00000 (Remarque le type Entier


long est compatible avec un champ compteur)
CODEART Type Numrique - Entier long - Format 00000
QTESCOM Type numrique - Entier (On considre que les quantits commandes
pour un article ne dpasseront pas 32767 units - les quantits sont des nombres
entiers sans dcimales)
6. Dfinissez la cl primaire (champ NOCOM et CODEART) :
La cl primaire se compose de deux champs. Par consquent slectionnez les deux champs en
mme temps en utilisant le slecteur de champ, avant de cliquer sur le bouton Cl primaire. :
Slecteur de champ

II.

7. Enregistrez la table sous le nom LIGNE COMMANDE


CREATION DES RELATIONS ENTRE LES TABLES
1. Fermez la table LIGNE COMMANDE
2. Slectionnez le menu Outils - Relations...
3. Dans le menu Affichage, slectionnez loption Ajouter une table puis slectionnez les tables
COMMANDE et LIGNE COMMANDE
4. Crez les relations entre les tables COMMANDES, CLIENTS puis entre COMMANDE et ET
LIGNE COMMANDE et PRODUIT ET LIGNE COMMANDE conformment au schma des
relations suivants :

LES FORMULAIRES ET LES SOUS FORMULAIRES


III. SAISIE DIRECTE DUNE COMMANDE DANS LES TABLES
Vous allez maintenant saisir la commande n 1 - voir page 1 Vous allez devoir saisir un enregistrement dans la table COMMANDE et plusieurs enregistrements dans
la table LIGNE COMMANDE, heureusement, ACCESS 2000 associe chaque enregistrement de la table
COMMANDE un ou plusieurs enregistrements de la table LIGNE COMMANDE
Dans la table commande saisissez lenregistrement suivant :
NOCO
DATECOM CODECLI
M
00001
15/03/01
7
Aprs validation de lenregistrement, Un signe + dans la colonne de gauche indique quil y a des
donnes lies lenregistrement :

Un clic sur ce symbole et il est alors possible de visualiser les enregistrements de la table lie LIGNE
COMMANDE ou dajouter, comme vous allez le faire des enregistrements :

SOAD LHARAOUI/CPCF : ACCESS

23

Saisissez maintenant Dans la table lie LIGNE COMMANDE les enregistrements relatifs la 1re
commande :
NO COM
00001
00001
00001
00001

CODEPROD
00006
00012
00014
00001

QTES COM
20
4
2
100

Vous devez avoir ceci lcran :

REMARQUE : Dans la table lie le chmp NOCOM qui sert de lien entre les deux tables nest pas
affich. En fait, ce champ se met jour automatiquement.
Pour le vrifier, il suffit dafficher la table LIGNE COMMANDE en mode table :
NOCO
CODEART QTESCOM
M
00001
00001
100
00001
00006
20
00001
00012
4
00001
00014
2
Ce champ sest rempli automatiquement.
1.

IV. LE COIN DES AMATEURS : CREATION DUN FORMULAIRE AVEC UN SOUS FORMULAIRE
Vous avez pu apprcier la facilit avec laquelle on saisit une commande directement dans les tables
(SIC). Vous allez crer un formulaire de saisie des commandes. Ce formulaire va comprendre les
champs de la table COMMANDE et un sous-formulaire incluant les champs de la table LIGNE
COMMANDE.
MODE OPERATOIRE :
1. Fermez toutes les tables
2. Dans la fentre Bases de donnes, slectionnez lobjet Formulaire puis cliquez sur
Crer un formulaire en utilisant lassistant
3. Slectionnez la table COMMANDE et slectionnez les champs figurant dans le
formulaire
Slectionnez ensuite la prsentation Colonne simple
Saisissez un nom pour le formulaire et cochez la case Modifier la structure du formulaire

SOAD LHARAOUI/CPCF : ACCESS

24

Vous devez obtenir peu prs ceci :

En faisant glisser le pied de formulaire vers le bas, vous pouvez agrandir le formulaire

4. Agrandissez la taille du formulaire


Insertion du sous-formulaire

Cliquez sur le bouton Sous formulaire/sous tat :


Dessinez une zone rectangulaire de 10 cm de large sur 5 de hauteur
Dans lassistant formulaire, indiquez la source des donnes du sous formulaire

Le choix effectif des champs se fait dans la bote de dialogue suivante :


1) Slectionnez la table LIGNE COMMANDE

2) Slectionnez Les champs faire figurer dans


le sous-formulaire, soit CODEART et QTESCOM

3) Cliquez sur ce bouton pour chaque champ slectionn

Etape suivante : rien faire

Etape suivante : Attribution dun nom pour le sous-formulaire :

SOAD LHARAOUI/CPCF : ACCESS

25

Vous pouvez laisser le nom propos par Access

Le rsultat final est le suivant :


En mode affichage formulaire :

en mode cration :

Donnes provenant de la TABLE COMMANDE


(formulaire principal)

Donnes provenant de la table LIGNE COMMANDE (sousformulaire)

Pas trs lgant : en mode cration,


augmentez la taille du sous-formulaire de manire ce que 10 enregistrements du sous-formulaire
puissent tre visibles
Augmentez la largeur des colonnes

Changez ltiquette du sous-formulaire en indiquant Articles en commande


Changez le texte des tiquettes : NOCOM en N de commande, DATECOM en Date de commande et
CODECLI en Code client

5. Enregistrez les changements effectus dans le formulaire et le sous-formulaire


6. Saisissez la commande n 2, en mode formulaire, figurant ci-dessous. Vous devez au
pralable codifier le code client et les codes produits en consultant les tables clients et
produits.
ETS Papetire
Code produit

COMMANDE N 2
Code client
Dsignation
Crer un site avec FrontPage
Bote de CD-R 74 mn/10
Le mmento du comptable dbutant
Transparents photocopieurs/10

du 16/03/2001
Micropuce
Qts commandes
5
6
10
30

7. Fermez le formulaire
LES FORMULAIRES ET LES SOUS FORMULAIRES
V.
LE COIN DES PROS : CREATION DU FORMULAIRE COMMANDE FONDE SUR DES
REQUETES.
Lutilisation de sous-formulaires fonds sur des tables prsente un inconvnient majeur : il nexiste
aucun moyen de contrle lors de la saisie du code produit ou du code client. Dautre part les champs
calculs ntant pas intgrs aux tables, il napparatront pas dans le sous formulaire
On va donc crer deux requtes :
Lune permettant la saisie de la date de commande et laffichage de lidentit et ladresse du client.
Cette requte servira pour le formulaire principal

SOAD LHARAOUI/CPCF : ACCESS

26

Lautre qui permettra la saisie du Code produit, des quantits commandes et laffichage : du prix
unitaire, du taux de TVA. On profitera galement de cette requte pour crer des champs calculs :
A. Cration des requtes
A1 La requte permettant d'obtenir l'entte du bon de commande (formulaire principal)

Slectionnez lobjet requte - cliquez sur Nouveau et Mode cration.


Slectionnez chaque table et cliquez sur ajouter (tables slectionner : COMMANDE,
CLIENT, REGLEMENT)

Dans le menu affichage vrifiez que loption

soit coche (cette


option est trs importante lorsquon cre des requtes multitables
Faites glisser les champs utiles (dans lordre dapparition dans le formulaire)
La liste des champs et les tables sources sont indiques ci-aprs :

Ces 3 champs seront mis jour chaque nouvelle commande. Les autres champs ne sont affichs qu titre
dinformation et de contrle

Visualisez le rsultat de la requte en cliquant sur le bouton Affichage - Feuille de donnes


Fermez la requte et enregistrez la sous le nom ENTETE BC (entte bon de commande)
A2 La requte permettant dobtenir le corps du bon de commande :
Slectionnez lobjet requte - cliquez sur Nouveau et Mode cration.

Slectionnez chaque table et cliquez sur Ajouter (tables slectionner : PRODUIT et LIGNE

COMMANDE)
Faites glisser les champs utiles (dans lordre dapparition du formulaire)

Les champs inclure sont indiqus ci-aprs :

2. Cration de champs calculs


Pour chaque ligne du bon de commande, on veut connatre :
Le montant HT (=QTESCOM*PRIX UNITAIRE)
Le montant de la TVA (=HT*taux de TVA)
Avant de procder, insrer une colonne juste avant TVAART : Slectionnez la colonne TVAART
puis cliquez sur Insertion - Colonnes
SOAD LHARAOUI/CPCF : ACCESS

27

Rsultat obtenir :

Champs calculs qui ne sont pas stocks dans les tables. Ces champs ont pour nom HT
et MTVA. Lexpression est saisir. Access ajoute les [ ] lorsquon les omet la saisie

Formatez les deux champs calculs en Montaire 2 Dcimales (Slection du champ puis clic sur le
bouton Proprits)
Visualisez le rsultat de la requte en cliquant sur le bouton Affichage Mode Feuille de donnes
Fermez la requte et enregistrez la sous le nom CORPS BC
B. Cration du formulaire de saisie des commandes (2me version)
B1 Cration du formulaire principal (saisie des commandes)

Fermez toutes les tables


Dans la fentre Bases de donnes, slectionnez lobjet Formulaire puis cliquez sur Crer un

formulaire en utilisant lassistant


Slectionnez la requte ENTETE BC puis slectionnez tous les champs de la requte qui devront
figurer dans le formulaire
Laffichage des donnes se fait par commande :

La prsentation du formulaire est en colonnes simples


Le titre du formulaire est : Saisie des commandes :

Afficher la structure du formulaire en mode cration :

Il ne reste plus qu inclure le sous-formulaire contenant les lignes de chaque commande :


En mode cration de formulaire, augmentez la taille du formulaire :

Pour augmenter la hauteur du formulaire,


faites glisser cette barre

Pour augmenter la largeur du formulaire, faites glisser ce


trait droite

B2 Cration du sous-formulaire Articles en commande

Cliquez sur le bouton assistant sous-formulaire/sous-tat :


SOAD LHARAOUI/CPCF : ACCESS

28

Tracez lcran en dessous du champ MODEREG, le sous-formulaire

Dans lassistant, indiquez que la source des donnes provient dune table ou dune requte existante
:

Slectionnez ensuite la requte source (soit CORPS BC) et slectionnez tous les champs.

Il faut ensuite indiquer lassistant quel est le champ permettant de lier le formulaire principal
(contenant en fait lentte du bon de commande) avec le sous-formulaire (en fait les lignes de
commande) :
Cochez cette case

Cliquez sur le bouton et slectionnez le champ NOCOM

Procdez de la mme manire

REMARQUES :
Lorsque le formulaire et le sous-formulaire sont fonds sur des tables et que des relations ont t
tablies entre les tables sur la base de cls primaires et trangres, ACCESS sait
automatiquement dterminer le champ qui sert de liaison entre le formulaire et le sousformulaire. En revanche, lorsque le formulaire et/ou le sous-formulaire sont fonds sur des
requtes, il faut dfinir soi-mme le champ de liaison.
Le champ NOCOM du formulaire principal est appel champ Pre et le champ NOCOM du sousformulaire est appel champ Fils :
Un Pre a 1 ou plusieurs Fils mais un Fils na qu1 seul Pre. Dans lexemple, en effet, une
commande (identifi par un numro de commande unique) comporte plusieurs lignes (chaque
ligne est identifie par un numro de commande ET un numro de produit)

Donnez un nom significatif au sous-formulaire avant de terminer la cration du sous-formulaire :

C/ Le fignolage
Le formulaire est maintenant cr mais la mise en forme laisse certainement dsirer. Basculez en
mode cration et dplacez les champs, renommez certaines tiquettes et augmentez la taille du
sous-formulaire pour obtenir une prsentation ressemblant cela :

SOAD LHARAOUI/CPCF : ACCESS

29

Elments de modes opratoires :


Les tiquettes concernant lidentit du client ont t supprimes

Pour modifier le sous-formulaire, il faut dabord fermer le formulaire Saisie des commandes en
prenant soin de sauvegarder les modifications.

Puis dans la fentre de base de donnes, il faut ouvrir le sous-formulaire Articles en


commande
et laffichez en mode feuille de
donnes (Bouton Affichage Feuille de donnes)
Slectionnez toutes les colonnes et appliquez une taille de police de 8

Slectionnez la colonne NOCOM et masquez la (menu Affichage Masquer Colonnes) car cette
colonne se met jour automatiquement et contient pour chaque commande la mme valeur que
celle figurant dans le formulaire principal.
Ajustez ensuite la largeur de toutes les colonnes pour que le sous-formulaire saffiche
correctement dans le formulaire principal.
Enregistrez le sous-formulaire (en conservant le mme nom : Articles en commande et fermez
le.
Ouvrez le formulaire Saisie des commandes et vrifiez la prsentation (au besoin procdez aux
modifications qui simposent)
REMARQUE : La relation Pre-Fils est synonyme de relation UN-PLUSIEURS : Un pre a plusieurs Fils
Cela signifie quun NO COM de la table COMMANDE correspond plusieurs lignes commandes.
D/ Test du formulaire avec une commande
Saisissez la commande n 3, codifiez au pralable le code client et les codes de produits :
ETS
Papetire

COMMANDE N3
Code client
Dsignation

Code
produit

Bote de CD-R 74 mn/10


Bote de CD-RW /10
Filtre anti-reflet pour moniteur

du 16/03/2001
CRION
Qts commandes
20
20
8

Fermez le formulaire principal et enregistrez le sous le nom : Saisie des commandes


V. LE COIN DES EXPERTS : INSERTION DE TOTAUX DANS UN FORMULAIRE - CREATION DE LISTES
MODIFIABLES
ATTENTION : Cette partie devient trs technique. vous pouvez la contourner en saisissant les bons de
commande de lannexe 1 en utilisant le formulaire Saisie des commandes
Pour les futurs experts dACCESS, vos claviers :
SOAD LHARAOUI/CPCF : ACCESS

30

Commencez dabord par enregistrer le Formulaire Saisie des commandes sous le nom Saisie des
commandes 2 . Enregistrez ensuite le sous-formulaire Articles en commande sous le nom Articles
en commande 2
(Dans la fentre Base de donnes, slectionnez lobjet Formulaire et cliquez sur Modifier. Puis Fichier
enregistrer sous.). Fermez ensuite tous les formulaires.
Pour mettre des sous-totaux dans le formulaire principal deux tapes sont suivre :
- Mettre les sous totaux dans le pied de page du sous-Formulaire
- Mettre une formule dans le pied de page du formulaire principal.
1. Mettre des sous totaux dans le pied de page du sous formulaire :

Ouvrez le sous-formulaire 2 Articles en commande 2 en mode Cration


Affichez la bote outils (Menu affichageBote outils)

Cliquez sur le bouton zone de texte :

figurant dans la bote outils

Crez le champ TOTAL HT dans le pied du formulaire Articles en commande 2


Nommez ltiquette TOT HT
Saisissez la formule suivante dans la zone de texte :
=Somme([HT])
Ce qui donne ceci :

Il faut maintenant dfinir un format pour la zone de texte :

Slectionnez la zone de texte


Cliquez sur le bouton proprit
Dans la bote de dialogue Proprits, cliquez sur longlet Format :

Slectionnez le format Montaire et 2 dcimales


Donnez un nom significatif au contrle (car ce nom sera utilis ultrieurement dans un autre
formulaire) :

Remplacez le texte inscrit ici par TOT HT

Procdez de mme pour les champs TOT TVA et TOT TTC ( paramtrer comme suit :)

Le pied de formulaire en mode cration doit ressemblerindique


ceci
:
lorigine
des donnes, peut tre le nom dun champ dune
table ou comme ici une expression calcule

Zone de texte : correspond un


champ (de table ou calcul)

Nom donn la zone de texte et


qui pourra servir dans un
autre formulaire

Etiquette

SOAD LHARAOUI/CPCF : ACCESS

31

Visualisez le formulaire Saisie des commandes 2 : les totaux concernent toutes les lignes de toutes les
commandes :

2. Inclure les champs prcdemment calculs dans le formulaire pricipal

Fermez dabord le sous-formulaire Articles en commandes 2


Ouvrez le formulaire Saisie des commandes 2 en mode cration
Modifiez la liaison entre le formulaire principal et le sous formulaire :
- Slectionnez le sous-formulaire
- Affichez les proprits
- Cliquez sur longlet toutes et modifiez la proprit Objet source et Nom en saisissant :
Articles en commande 2

Ajoutez ici un espace et un 2

Dans le pied du formulaire, crez maintenant 3 zones de textes :

Paramtrez ces zones de texte pour obtenir ceci :

Le dtail est donn ci-dessous pour chaque zone de texte :

Plutt que de saisir les formules et risquer une


erreur de saisie, Access met votre
disposition un gnrateur dexpression. Voir
lexemple ci dessous pour la zone de texte
TOT HT
Le gnrateur dexpressions :
Au lieu de saisir la proprit Source contrle soi-mme, cliquez sur le bouton Gnrateur dexpressions
qui apparat lorsquon clique dans certaines proprits :
Ce gnrateur se prsente comme suit :

SOAD LHARAOUI/CPCF : ACCESS

32

1) Slectionnez lobjet concern par lexpression (ici le sous formulaire


Articles en commande 2

4) Cliquez ici pour gnrer lexpression

3) Valeur est slectionne par dfaut

2) Slectionnez ensuite le contrle concern par lexpression


(ici la zone de texte TOT HT)

Aprs avoir cliqu sur le bouton Coller, on obtient :

5) Validez pour gnrer lexpression dans la


fentre de proprits

3. Des zones de liste modifiables


Le formulaire prcdent prsente encore un dfaut : lorsquune commande est saisie par tlphone, si
le client ne connat pas les codes, il va devoir chercher dans les tables le code du client, le code des
produits commands
Dans le formulaire, on va donc transformer les zones de texte en zone de listes modifiables.
Exemple : Code client
Avant

Aprs

Un clic sur le bouton et les


noms des clients
apparaissent en clair

Mode opratoire :

En mode cration, slectionnez le contrle contenant le numro de client

Cliquez sur le menu Format Remplacer par - Zone de liste modifiable


Affichez ensuite les proprits de la zone de liste et paramtrez les proprits suivantes :

SOAD LHARAOUI/CPCF : ACCESS

33

Table contenant les donnes afficher dans la zone


de liste

La colonne 1 contient le code et la colonne 2 contient


le nom des clients

La colonne 1 contient le code dont la valeur sera


conserve dans le formulaire

Affichez le Formulaire pour verifier laffichage, en mode creation, vous pouvez largir la taille de la
zone de liste pour amliorer laffichage :
Procdez de mme pour le code article dans le sous-formulaire :
Remplacez la zone de texte CODEART en zone de liste modifiable
Paramtrez les proprits suivantes :
Remplacez la zone de texte CODEART en zone de liste modifiable
Paramtrez les proprits suivantes :

La colonne 1 (codeart) a une largeur d1 cm et la


colonne 2 (Designart) une largeur de 5cm de manire
visualiser entirement le nom des articles lorsquon
clique sur le bouton de liste

Indique la taille maximum de la zone de la liste.

La largeur de 6 cm donne un affichage en mode cration affreux


car le contrle empite sur les contrles voisins
Mais en mode Affichage Formulaire, la taille prend tout son sens :

SOAD LHARAOUI/CPCF : ACCESS

34

La saisie dans le formulaire


Vous disposez des autres commandes du mois de mars ci-dessous saisir dans le formulaire Saisie
des commandes 2 si vous lavez ralis ou dans le sous-formulaire Saisie des commandes
ANNEXE 1
ETS PAPETIRE

COMMANDE N 4
code client

code produit

ETS PAPETIRE

Dsignation
Ramette papier multi usages
Stylo transparents permanents
Transparents photocopieurs/10
Programmation en javascript

5
10
7
2

COMMANDE N 5
code client

code produit

Dsignation
Transparents photocopieurs/10
Transparents manuels/10
Stylo transparents effaables
Stylo transparents permanents

ETS PAPETIRE

COMMANDE N6
code client

code produit

ETS PAPETIRE

Dsignation
Support mural pour moniteur
Filtre anti-reflet pour moniteur
Stylo transparents permanents
Stylo transparents effaables

ETS PAPETIRE

COMMANDE N 7
Dsignation
Les grandes courants du management
Calulatrice scientifique Cazio
Bote de CD-RW /10

COMMANDE N 8
code client

code produit

Dsignation
Stylo transparents effaables
Stylo transparents permanents
Bote de CD-R 74 mn/10

ETS PAPETIRE

COMMANDE N 9
code client

code produit

Dsignation
Stylo transparents effaables
Stylo transparents permanents
Bote de CD-R 74 mn/10
Calulatrice scientifique Cazio
WebCam Sauni
Botes de disquettes 3,5''/10
Ramette papier multi usages
Filtre anti-reflet pour moniteur

SOAD LHARAOUI/CPCF : ACCESS

du 22/03/2001
Centre franais de
restauration
qtes commandes
100
100
50
50
du 23/03/2001
Assurance Azur
qtes commandes
4
5
20
10

code client
code produit

du 19/03/2001
Mcanord
qtes commandes

du 24/03/2001
Briko Boutik
qtes commandes
5
2
50
10
du 24/03/2001
Lyce Rambaux
qtes commandes
100
100
20
du 26/03/2001
SriTech
qtes commandes
10
10
2
1
2
2
10
1
35

CAS PAPETIERE- 5me partie


LES REQUETES ACTIONS
CONNAISSANCES DE BASE
Les requtes action permettent de modifier les donnes dans les tables alors que les requtes
slection et opration ne modifient en rien les donnes stockes dans les tables.
Elles sont de quatre types :
Cration de table
Ajout
Mise jour
Suppression

Permet de crer une nouvelle table partir des enregistrements rpondant un


critre de slection
Ajoute le contenu des enregistrements correspondant au critre de slection
une table existante (ou nouvelle)
Permet de mettre jour le contenu dun ou plusieurs champs pour les
enregistrements slectionns correspondant au critre de slection
Permet de supprimer les enregistrements correspondant au critre de slection

Pour crer une requte action, il faut :

crer une requte slection (ou opration) pour slectionner les enregistrements
Afficher le rsultat de la requte slection (pour contrle)
Transformer la requte slection (ou opration) en requte action par le menu Requte ou
par les boutons de la barre doutils requte

Excuter la requte (menu Requte - Excuter ou bouton xcuter de la barre doutils)


DANGER : UNE REQUTE ACTION MODIFIE LE CONTENU DES TABLES, PAR CONSEQUENT IL FAUT TRE
RIGOUREUX QUANT AU CRITERE DE SELECTION

I. CREATION ET EXECUTION DUNE REQUTE CREATION DE TABLE


le thme
Dans la table CLIENT de la base de donnes PAPETIER.MDB figure le champ ENCOURS (contenant le
montant du crdit accord aux clients). Ce champ constitue une donne de situation (au mme titre
quun solde de compte ou un stock) et doit tre rgulirement mis jour. Par consquent, vous allez :
- crer AUTOMATIQUEMENT par requte une table ENCOURS DE CREDIT comprenant les champs
suivants :
- CODECLI
- ENCOURS
- ensuite supprimer le champ ENCOURS de la tale CLIENT
- ensuite tablir une relation entre la table CLIENT et la table ENCOURS DE CREDIT

A. CREATION DUNE REQUETE CREATION DE TABLE


Plutt que de crer la structure de la table ENCOURS DE CREDIT, vous allez crer une requte
Cration de tables :

1. Cliquez sur longlet Requte puis sur le bouton Nouveau


2. Cliquez sur le bouton

puis slectionnez la table CLIENT

3. Faites glisser les champs CODECLI et ENCOURSCLI dans la grille dinterrogation.


4. Visualisez le rsultat de la requte Slection(bouton

) (vous devez avoir 17

enregistrements et 2 champs)

SOAD LHARAOUI/CPCF : ACCESS

36

5. En mode cration de requte, droulez le menu Requte - Cration de table ou cliquez sur le
bouton Type de requte

puis sur le bouton

6. Dans la bote de dialogue Requte cration, saisissez le nom de la nouvelle table : ENCOURS
DE CREDIT

7. Excutez la requte (Menu Requte - Excution ou bouton Excuter de la barre doutils


Requte)
Un message dalerte vous informe que 17 enregistrements vont tre colls dans une nouvelle
table :

Confirmez alors en cliquant sur Oui

8. Enregistrez la requte sous le nom Cration table Encours et fermez-la (la requte
videmment !)

Attention, si vous tentez une deuxime excution de la requte Cration, Access affichera un
message derreur car la table ENCOURS DE CREDIT a t cr lors de la 1re excution. Pour
signaler le danger, Le nom des requtes action (dans la liste des requtes) est prcd dun
point dexclamation

9. Vrifiez lexistence de la table ENCOURS DE CREDIT dans la liste des tables.


10. Vrifiez la structure de la table ( affichez la table ENCOURS CREDIT en mode cration : les
proprits des champs CODECLI et ENCOURS sont les mmes que dans la table CLIENT. Mais
ACCESS na pas dfini de cl primaire. par consquent dfinissez la cl primaire pour le champ
CODECLI

B. SUPPRESSION DU CHAMP ENCOURS DANS LA TABLE CLIENT


Comme le champ ENCOURS fait partie dune nouvelle table, vous devez le supprimer de la table CLIENT
:

1. Ouvrez la table CLIENT en mode cration,


2. Slectionnez la ligne de champ : ENCOURS
SOAD LHARAOUI/CPCF : ACCESS

37

3. Supprimez le champ
C. ETABLIR UNE RELATION ENTRE LA TABLE CLIENT ET LA TABLE ENCOURS DE
CREDIT
Comme UN client na quUN seul encours de crdit et inversement, la relation entre les tables CLIENT et
ENCOURS DE CREDIT sera du type UNE UNE. Le champ commun au deux tables est CODECLI.
travail a faire :
Crez la relation entre les deux tables.

Le coin des
Pros
La structure de la table CLIENT ayant t modifie, les requtes, les formulaires ou les Etats fonds sur
la table CLIENT ne se mettent pas automatiquement jour. Consquence : si une requte, un tat ou un
formulaire utilise le champ ENCOURS, il faudra faire des modifications
APPLICATION :
Au cours des TD prcdents(CAS PAPETIERE : 3me partie - UTILISER ACCESS AVEC PLUSIEURS TABLES Troisime sous-partie : Crer une zone de liste modifiable)
vous avez cr le formulaire 2 Saisie/Modification des clients fond sur la requte REQUETE
FORMULAIRE CLIENT
Comme ces lments font rfrence au champ ENCOURS, vous allez les modifier en cascade

1. Modifier la requte REQUETE FORMULAIRE CLIENT


2. Dans la requte en mode cration, supprimez le champ ENCOURS qui nest plus valide
3. Ajouter la table ENCOURS DE CREDIT (menu Requte - Ajouter une table)
4. Faites glisser le champ ENCOURS (de la table ENCOURS DE CREDIT) vers la grille
dinterrogation avant le champ PLAFOND

5. Vrifiez le rsultat de la requte


6. Enregistrez et fermez la requte.
7. Modification du formulaire 2 Saisie/Modification des clients :
Ouvrez ce formulaire en mode Modification/cration

Vrifiez la source du contrle ENCOURS :


J Slectionnez le contrle ENCOURS

J Affichez les proprits du contrle (Menu Affichage proprits) En principe, la source


correspond au champ ENCOURS de la requte donc il ny a rien faire.
Passez la rubrique Le coin des experts OU fermez le formulaire puis passez
directement au II II.
CREATION DUNE REQUETE MISE A JOUR, DUNE REQUETE SUPPRESSION
Le coin des
experts
Profitons du formulaire 2 Saisie/modification des clients pour dcouvrir de nouveaux trucs :
SOAD LHARAOUI/CPCF : ACCESS

38

Le champ ENCOURS reprsente une Donne de situation (comme cela a pu tre dit prcdemment)
dont la valeur augmente chaque nouvelle commande et diminue avec les rglements reus des
clients). Par consquent, ce champ doit tre mis jour avec une requte action.
Pour viter que lutilisateur du formulaire ne saisisse une valeur dans le champ ENCOURS, on va
le protger en paramtrant certaines proprits :

1. Slectionner le contrle ENCOURS (si ce nest pas dj fait)


2. Affichez la fentre des proprits (si ce nest pas dj fait)
3. Paramtrez les proprits indiques ci-dessous :

Oui : le contrle apparat normalement


Non : le contrle est gris (entirement inaccessible)
Oui : le contrle ne peut pas tre mis jour (on empche la saisie
ou la modification)
Non : le contrle peut tre mis jour
Oui : Le curseur sarrtera sur le contrle
Non : le curseur ne sarrtera pas sur le contrle
Demander explication au G.F.I.

Remarque :
- La proprit Visible : permet de cacher un contrle ou de le rendre visible
- La proprit Afficher a pour options :
* Toujours : le contrle est affich tant lcran qu limprimante
* A lcran : le contrle est affich lcran mais nest pas imprimable
* A limpression : le contrle est imprimable mais nest pas affich lcran
4. Vrifiez les modifications en affichant le formulaire en mode Formulaire et essayez de
changer la valeur du champ ENCOURS
II.

CREATION DUNE REQUETE MISE A JOUR, DUNE REQUETE SUPPRESSION

AU PREALABLE :
Vous allez effectuez une copie de la base de donnes PAPETIERE.MDB et travailler sur cette copie.
Plutt que dutiliser lexplorateur de WINDOWS, vous allez utiliser la commande COMPACTER dACCESS.
Cette commande permet de rduire la taille dune base de donnes. Le compactage se fait dans un
nouveau fichier.
PROCEDURE :

1. Fermez la base de donnes PAPETIERE.MDB (indispensable)


2. Activez le menu Fichier - Compacter une base de donnes ACCESS affiche une premire
bote de dialogue dans laquelle vous slectionnez le nom de la base compacter soit
PAPETIERE.MDB sur le lecteur A:
3. Dans la deuxime bote de dialogue Compacter sous... saisissez le nom de la base compacte
:
PAPETIERERAC.MDB
Une fois lopration acheve, ouvrez la base de donnes PAPETIERERAC.MDB, cest dans cette base de
donnes que vous allez effectuer diverses requtes action.

SOAD LHARAOUI/CPCF : ACCESS

39

A. Cration dune requte Mise jour


Le directeur commercial de la socit PAPETIERE a dcid de majorer de 10% le prix unitaire des
articles de papeterie. Vous tes charg de modifier les prix unitaires.
Plutt que de calculer manuellement les prix unitaires pour les articles de papeterie et de les saisir
vous allez, grce une requte Mise jour, faire la modification automatiquement.
MODE OPERATOIRE :

1. Crer une nouvelle requte fonde sur les tables PRODUITS et CATEGORIE
2. Faites glisser les champs CODEART, DESIGNART, LIBELLECAT et PUHT
3. Mettez le critre : Papeterie pour le champ LIBELLE CATEGORIE

4. Visualisez la requte en mode Feuille de donnes pour vrifier que vous navez que les
enregistrements relatifs aux articles de papeterie

5. En mode cration, slectionnez le type de requte Mise jour dans le menu requte (ou
cliquez sur le bouton

6. Dans la grille dinterrogation, saisissez la formule suivante sur la ligne mise jour et en
dessous du champ Prix unitaire :
[PUHT]*1.10

7. Excutez la requte (Menu Requte Excuter et visualisez le rsultat : les prix ont
augments de 10% (de 12,60 F ils sont passs 13,86 F)
Avant excution de la requte
Ramette papier multi usages
Papier qualit photo /20

45.00 F
58.00 F

Papeterie
Papeterie

Aprs excution de la requte


Ramette papier multi usages
Papier qualit photo /20

49.50 F
63.80 F

Papeterie
Papeterie

8. Enregistrez la requte sous le nom : REQ MISE A JOUR TARIF


9. Fermez la requte
SOAD LHARAOUI/CPCF : ACCESS

40

10. Excutez de nouveau la requte : Que se passe-t-il ?


B. CREER UNE REQUETE SUPPRESSION
On veut supprimer la commande n 4 (qui a t annule par le client) :

1.
2.
3.
4.

Crez une nouvelle requte fonde sur la table commande


Faites glisser tous les champs
Saisissez le critre de slection en dessous du champ NOCOM : 4
Visualisez la requte

NOCO
M
00004

DATECOM

CODECLI

19/03/200
1

5. En mode cration, activez le menu Requte Suppression ou cliquez sur le bouton


6. Excutez la requte. Un message vous informe que la suppression va tre dfinitive :

Confirmez la suppression en cliquant sur oui


Mais un message derreur saffiche :

Annulez lopration en cliquant sur le bouton Non


Remde :
Lors de la cration des relations entre la table commande (ct UN de la relation) et la table LIGNE
COMMANDE (Ct PLUSIEURS) Vous avez demand ACCESS dappliquer lintgrit rfrentielle : Pour
pouvoir supprimer une enregistrement de la table ct UN, il faut dabord supprimer les
enregistrements lis de la table ct PLUSIEURS.
Dans lexemple il faudrait crer deux requtes :
- la premire pour supprimer les enregistrements de la table LIGNE COMMANDE pour lesquels le champ
NO COM=4
- la deuxime pour supprimer les enregistrements de la table LIGNE COMMANDE pour lesquels le champ
NO COM=4
CEST LOURD A FAIRE !
Heureusement, il existe une autre possibilit :
Enregistrez la requte sous le nom : REQ SUPPRESSION DUNE COMMANDE
Fermez la requte
SOAD LHARAOUI/CPCF : ACCESS

41

Cliquez sur le menu Edition - Relation


Double cliquez sur la relation (sur le trait) entre COMMANDE et LIGNE COMMANDE
Cochez la case Effacer en cascade (ainsi quand on supprimera une commande, toutes les lignes
de commandes seront automatiquement supprimes)

Validez puis fermez la fentre Relation


Dans la fentre Base de donnes, slectionnez la requte REQ SUPPRESSION DUNE
COMMANDE
Excutez la requte en cliquant sur le bouton Ouvrir (La suppression est effective)
Ouvrez successivement les tables COMMANDE et LIGNE COMMANDE pour vrifier que la
commande n 4 a bien t supprime.
CAS PAPETIERE- 6me partie
LANALYSE CROISEE
CONNAISSANCES DE BASE
Faire une analyse croise consiste effectuer une synthse des donnes sur plusieurs niveaux.. Dans
Access, lanalyse croise constitue une forme particulire de requte opration.
Dans lexemple qui suit, vous aurez effectuer une analyse croise du chiffre daffaires consistant
dterminer le montant du chiffre daffaires par client et pour chaque catgorie darticle.
Voici ce que lon souhaite obtenir :
NOMCLI
Accessoires
fournitures
Assurance Azur
34.30 F
Briko Boutik
Centre franais de
restauration
Crion
Joue Club
Lyce Rambaux
Mcanord
Micropuce
SriTech

Mobilier petit
matriel
335.85 F

Ouvrage
s

300.32 F

57.17 F

959.21 F
573.67 F
301.85 F

19.06 F

Papeteri
e

777.49 F
49.16
228.67
43.45
137.20
22.87

F
F
F
F
F

90.55 F
378.99 F

76.22 F
439.82 F

34.30 F
68.60 F

Ici, les noms des clients reprsentent des enttes de ligne et les libells de catgorie reprsentent
des enttes de colonnes . Les sommes figurant dans le tableau correspondent aux valeurs et
sont le fruit dun calcul (oprateur Somme).
Pour obtenir ce rsultat, il faut dabord raliser une requte comprenant :
Le nom des clients
Le libell des catgories darticles
Le montant HT ([QTESCOM]*[PUHT]) : cela correspond au dtail des lignes de commandes
Application guide :
Crez une nouvelle requte en mode cration
Slectionnez les tables qui vous sont ncessaires
SOAD LHARAOUI/CPCF : ACCESS

42

Slectionnez ensuite les champs NOMCLI, LIBELLECAT et crez un champ calcul que vous
nommerez HT.
Vous devez obtenir ceci :

Maintenant, il ne reste plus qu transformer la requte slection en requte analyse croise :


Cliquez sur le menu Requte puis sur

Dans la grille dinterrogation deux nouvelles lignes sont apparues :

Il faut ici dfinir les champs de regroupement (ici NOMCLI et LIBELLECAT) et loprateur de calcul (ici
loprateur SOMME appliqu au champ HT.
Il faut galement dfinir lentte de ligne(NOMCLI), lentte de colonne (LIBELLECAT).
Il faut noter aussi que les trois champs proviennent de trois tables diffrentes.
Remarques :
- Il est tout fait possible de trier les clients comme les libells de catgorie
- lanalyse sest faite sur deux niveaux (dimensions), savoir un premier niveau sur le nom des clients
et un second niveau sur le libell catgorie. On peut ajouter des niveaux supplmentaire danalyse en
entte de ligne. Par exemple, si lon veut obtenir le cumul du chiffre daffaires par client , par taux de
TVA et par libell catgorie, la requte analyse croise se prsente alors de la manire suivante :

Ce niveau a t ajout

Ce qui donne :
NOMCLI
Assurance Azur
Briko Boutik
Briko Boutik
Centre franais de
restauration
Crion
SOAD LHARAOUI/CPCF : ACCESS

TVAART
19.60%
5.50%
19.60%
19.60%
19.60%

Accessoires
fournitures
34.30 F

Mobilier petit
matriel
335.85 F

Ouvrage
s

Papeteri
e

57.17 F
300.32 F
777.49 F
959.21 F
43

Joue Club
Joue Club
Lyce Rambaux
Mcanord
Mcanord
Micropuce
Micropuce
SriTech

5.50%
19.60%
19.60%
5.50%
19.60%
5.50%
19.60%
19.60%

19.06 F
49.16 F
228.67 F

573.67 F
301.85 F
76.22 F

43.45 F

34.30 F
439.82 F

137.20 F
22.87 F

90.55 F
378.99 F

68.60 F

Le rsultat nest pas significatif car une catgorie darticles ne semble comporter quun seul taux de
TVA.
Application non guide :
Les dirigeants de la papetire souhaiterait connatre la quantit commande par article et par date de
commande.
Activit :
Rpondez la demande des dirigeants laide dAccess
Pour vous aider voici un extrait du rsultat obtenir :
DESIGNART
19/03/20 22/03/20 23/03/20
01
01
01
Bote de CD-R 74 mn/10
Bote de CD-RW /10
Botes de disquettes
3,5''/10
Calulatrice scientifique
Cazio
Crer un site avec Front
Page

24/03/20
01
20
10

26/03/20
01
2
2

Les macros
Dfinition
Une macro comporte une ou plusieurs actions effectuant chacune une opration particulire,
telle l'ouverture d'un formulaire ou l'impression d'un tat. Les macros permettent d'automatiser les
tches habituelles. Vous pouvez, par exemple, excuter une macro qui imprime un tat lorsqu'un
utilisateur clique sur un bouton de commande.
Une macro peut se prsenter sous forme de macro unique compose d'une srie d'actions ou
sous forme de groupe de macros. Vous pouvez galement utiliser une expression conditionnelle pour
dterminer si, dans certaines circonstances particulires, une action est effectue lorsqu'une macro
s'excute.
Srie d'actions
Une macro peut tre composer d'une srie d'actions, Microsoft Access effectue ces actions en
bloc chaque fois que la macro est excute.
Groupe de macros
Si vous utilisez un grand nombre de macros, regroupez les macros lies dans des groupes de
macros pour faciliter la gestion de votre base de donnes. Pour afficher les noms des macros d'un
groupe de macros, cliquez sur "Nom de macro" dans le menu "Affichage" de la fentre Macro. Pour
excuter une macro contenue dans un groupe de macros, vous devez indiquer le nom du groupe de
macros suivi d'un point, puis le nom de la macro.
Actions conditionnelles
Dans certaines situations, il peut tre ncessaire d'excuter conditionnellement une ou
plusieurs actions dans une macro. C'est par exemple le cas lorsque vous dfinissez une macro qui
valide le contenu d'un champ.
Pour ce faire, affichez la colonne "Condition" en cliquant sur "Conditions" dans le menu
"Affichage" de la fentre Macro, tapez l'expression conditionnelle sur la ligne qui contient l'action
excuter conditionnellement.

SOAD LHARAOUI/CPCF : ACCESS

44

Cration d'une macro


Pour crer une macro, dans la fentre "Base de donnes", cliquez sur l'objet "Macros" puis
cliquez sur le bouton "Nouveau". La fentre Macros" apparat.

La partie suprieure de la fentre "Macro" est compose de deux colonnes intitules "Action"
et "Commentaire". La premire donne accs 53 actions prdfinis. Quant la seconde, elle apporte
des prcisions sur les actions complexes.
Dans la colonne "Action", cliquez dans la premire cellule puis cliquez sur la flche pour
afficher la liste d'actions partir de laquelle vous allez slectionner l'action que vous voulez utiliser. Par
suite vous pouvez, si vous le dsirez, saisir un commentaire. En fait, les commentaires sont facultatifs
mais souhaitables pour mieux comprendre votre macro plus tard. Dans la partie infrieure de la fentre,
spcifiez les arguments de l'action, si ceux-ci sont obligatoires. Cliquez ensuite sur le bouton
d'enregistrement pour sauvegarder la macro, le nom saisi apparatra dans la fentre "Base de
donnes"

les actions prdfinies par Access


Action
Actualiser
AfficherBarreOutils
AfficherTous
Enregistrement
Agrandir
AjouterMenu

Signification
Mettre jour les donnes du contrle spcifi
Affiche ou masque une barre d'outils
Supprime l'effet du filtre sur la table, la requte ou le formulaire
courant en affichant tous les enregistrements
Donne la taille maximale la fentre active
Ajoute un menu dans la barre de menus personnalise d'un
formulaire, tat
AnnulerEvnement
Annule un vnement qui a entran l'excution de la macro
AppliquerFiltre
Applique un filtre, une requte une table, formulaire ou tat.
ArrtMacro
Arrte la macro en cours d'excution
ArrtToutesMacros
Arrte toutes les macros en cours d'excution
AtteindreContrle
Active le champ ou le contrle spcifi dans la feuille de donnes
ou le formulaire courant
AtteindreEnregistremen Active l'enregistrement spcifi.
t
AtteindrePage
Active le premier contrle de la page spcifie
Avertissements
Active ou dsactive les messages systme
Bip
Emet un signal sonore
BoiteMsg
Affiche une bote de message d'avertissement ou d'information
CopierObjet
Copie un objet dans une base de donnes Access
SOAD LHARAOUI/CPCF : ACCESS

45

CopierVers
DfiniElmentMenu
DfinirValeur
DplacerDimentionner
Echo
Enregistrer
AnvoiTouches
EnvoyerObjet
ExcuterApplication
ExcuterCode
ExcuterCommande
ExcuterMacro
Fermer
Imprimer
OuvrirEtat
OuvrirFormulaire
OuvrirModule
OuvrirPageAccs
Donnes
OuvrirProcdureStocke
OuvrirRequte
OuvrirSchma
OuvrirTable
OuvrirVue
Quitter
Reduire
Renommer
Restaurer
Sablier
SlectionnerObjet
SupprimerObjet
TransfrerBase
TransfrerFeuilleCalcul
TransfrerTexte
TrouverEnregistrement
TrouverSuivant

Exporte un objet au format Excel, Texte (.RTF ou .TXT), document


HTML
Dfinit l'tat des lments de menus personnaliss (active,
dsactive)
Dfinit la valeur d'un contrle, un champ ou une proprit
Dplace ou redimensionne la fentre active
Masque ou affiche les rsultats intermdiaires pendant
l'excution de macro
Enregistre la fentre active ou l'objet spcifi
Simule une frappe au clavier
Place l'objet dans un message lectronique
Lance l'application spcifie
Lance une fonction Visual Basic
Lance une commande du menu Access
Lance la macro spcifie
Ferme la fentre spcifie
Lance l'impression de l'objet courant
Ouvre l'tat spcifi
Ouvre le formulaire spcifi
Ouvre le module spcifi
Ouvre la page d'accs aux donnes spcifie
Ouvre la procdure stocke spcifie
Ouvre la requte spcifie
Ouvre le schma spcifi
Ouvre la table spcifie
Ouvre la vue spcifie
Ferme l'application Microsoft Access
Rduit la fentre
Dfinit un autre nom l'objet spcifi
Rtablit la taille initiale de la fentre
Transforme le pointeur en un sablier
Slectionne l'objet spcifi
Supprime l'objet spcifi sans confirmation
Importe les donnes d'une base une autre
Importe les donnes contenues dans une feuille de calcul
Importe les donnes contenues dans un fichier texte
Recherche le premier enregistrement qui satisfait le critre
spcifi
Recherche l'enregistrement suivant celui qui satisfait le critre
spcifi dans l'action "TrouverSuivant"

Exercice :

1.
2.
3.

Crer une macro qui permet d'ouvrir le formulaire client en mode "formulaire". Agrandir la
fentre.
Crer une macro qui permet d'ouvrir un tat en mode "aperu avant impression".
Crer une macro qui permet d'ouvrir et d'imprimer un tat.

Excution d'une macro


Pour excuter un macro, il suffit de double-cliquer sur son nom dans la fentre "Base de
donnes" ou encore de la slectionner et de cliquer sur le bouton "Excuter". Mais, vous pouvez
galement l'associer un bouton de commande dans un formulaire, elle s'excutera automatiquement
si l'on presse le bouton. Vous pouvez aussi l'associer un vnement reconnu par Access ou l'excuter
automatiquement l'ouverture de la base de donnes.
Associer une macro un bouton de commande
Pour relier une macro un bouton de commande dans un formulaire en mode cration, il suffit
d'utiliser la proprit "sur clic" du bouton concern. Pour ce faire, activez la bote de dialogue
"Proprits" du bouton, cherchez l'vnement "sur clic" et slectionnez dans la liste droulante le
nom de la macro excuter.

SOAD LHARAOUI/CPCF : ACCESS

46

Associer une macro un vnement


Chaque contrle ou objet de Microsoft Access possde plusieurs vnement. A la production de
tel ou tel vnement, vous souhaitez excuter une action. Crez une macro refltant cette action. Puis,
dans la proprit reprsentant cet vnement, slectionnez le nom de la macro.
Excuter automatiquement une macro
Si elle existe, la macro nomme "AUTOEXEC" d'excute automatiquement chaque ouverture
de la base de donnes.
Exercice :
Associer les macros cres prcdemment des boutons de commandes.

SOAD LHARAOUI/CPCF : ACCESS

47

ANNEXE 2
Proprits
Taille du champ
Format
Dcimales
Nouvelles valeurs
Masque de saisie
Lgendes
Valeur par dfaut
Valide si
Message si erreur

Explications
Permet de limiter le champ pour qu'il n'utilise pas trop
de mmoires inutilement.
Dfinit le format selon lequel le champ est enregistr
ou affich.
Indique le nombre de chiffres aprs la virgules.
Indique comment le champ NumeroAuto choisit le
nouveau numro, soit par incrmentation ou de faon
alatoire.
Facilite la saisie
Le texte des tiquettes attaches aux contrles des
formulaires
valeur automatiquement entre dans un champ lors de
la cration d'un nouvel enregistrement

Chane vide
autorise
Index

Limite les entres du champ


Message affiche si la donne du champ n'est pas
valide, utiliser avec la proprits Valide si.
Si la valeur est Oui, vous obligez la saisie de donnes
dans le champ.
Si la valeur est Non, vous obligez saisir au minimum
un caractre dans le champ.
Acclre la recherche.

Afficher le
contrle

Dfinit le type de contrle afficher dans un formulaire


pour le champ. Se trouve sur l'onglet Liste de choix.

Null interdit

Applicable aux champs


Texte et numrique.
Tous sauf objet OLE.
Numrique et montaire.
NumeroAuto.
Date/heure, texte, numrique,
montaire et NumeroAuto.
Tous.
Date/heure, oui/non, texte, mmo,
numrique, montaire, lien
hypertexte.
Tous sauf NumeroAuto
Date/heure, oui/non, texte, mmo,
objet OLE, numrique, montaire.
Date/heure, oui/non, texte, mmo,
objet OLE, numrique, montaire.
texte, mmo, lien hypertexte.
Date/heure, texte, numrique,
montaire, NumeroAuto.
texte, montaire, oui/non.

I. Les proprits
I.1. Taille du champ
Vous limitez ainsi la place mmoire mais galement des erreurs d'utilisation. Pour un champ texte, vous limiter le
nombre de caractres, la valeur par dfaut est 50, si vous indiquez 0 c'est la valeur 255 qui sera retenue.
Pour un champ numrique, vous avez les tailles suivantes :
Type
Octet
Entier
Entier long
Rel simple
Rel double

Valeurs
valeur
valeur
valeur
valeur
valeur

entire de 0 255
entire de -32768 32767
entire de -2147483648 2147483647
dcimale de -3,4*1018 3,4*1018, avec 7 dcimales
dcimale de -1,97*10308 1,797*10308, avec 15 dcimales

Taille en
octet
1
2
4
4
8

I.2. Format
Selon le type de champ, vous avez des formats prdfinis ou non, mais vous pouvez galement concevoir votre
propre format en utilisant des symboles, diffrents selon le type de champ. Certains symboles sont communs
tous les types :
Symbole
""
\
*
Espace
!
[couleur]

Explications
Tous les caractres compris entre les 2 guillemets sont affichs.
Le caractre qui suit \ s'affiche, utilisez plutt les guillemets.
Complte l'espace vide du champ avec le caractre situ aprs *
Affiche un espace dans le champ
Force l'alignement gauche
Affiche le champ dans la couleur spcifie. Les couleurs disponibles sont : Noir, Bleu, Vert, Cyan,
Rouge, Magenta, Jaune, Blanc.

Texte : vous n'avez aucun format prdfini, les formats personnaliss utilisent les symboles suivants :
Symbole
@
&
<
>

Explications
Caractre obligatoire
Caractre non obligatoire
Convertit les caractres en minuscules
Convertit les caractres en majuscules

SOAD LHARAOUI/CPCF : ACCESS

48

Date/heure : dtermine le mode d'affichage de la date et de l'heure. Utilisez les formats de la liste :
Format
Date, gnral
Date, complet
Date, rduit
Date, abrg
Heure, complet
Heure, rduit
Heure, abrg

Exemple
19/06/94 17:34:23
dimanche 19 juin 1994
19-juin-94
19/06/94
17:34:23
05:34
17:34

Ou crez votre propre format. Ceux-ci utilisent les symboles suivants :


Symbol
e
:
/
J

E
M
T
A
A
H
N
S
"

Explications
sparateur d'heure
sparateur de date
Jour - j affiche en 1 ou 2 chiffres (1 31) - jj affiche en 2 chiffres (01 31)
jjj affiche les 3 premires lettres du jour (dim sam)
jjjj affiche le jour entier en lettres (dimanche samedi) (Vous pouvez marier ces affichages : j jjjj ou jj jjj,
etc.)
e affiche le jour dans la semaine (1 7) - ee affiche le jour de la semaine (1 53)
Mois - m affiche en 1 ou 2 chiffres (1 12) - mm affiche en 2 chiffres (01 12)
mmm affiche les 3 1er lettres du jour (jan dc) - mmmm affiche le jour entier en lettres (janvier
dcembre)
trimestre (1 4)
numro du jour de l'anne
l'anne
- aa affiche en 2 chiffres - aaaa affiche en 4 chiffres
l'heure - h affiche en 1 ou 2 chiffres (1 23) - hh affiche en 2 chiffres (01 23)
Minute - n affiche en 1 ou 2 chiffres (1 59) - nn affiche en 2 chiffres (01 59)
Seconde - s affiche en 1 ou 2 chiffres (1 59) - ss affiche en 2 chiffres (01 59)
Tout les caractres compris entre 2 guillemets sont affichs. Exemple, "Le "j jjjj mmmm aaaa affichera :
Le 2 novembre 2000

Numrique et Montaire : vous avez le choix entre 6 formats pour les champs de type Numrique, NumeroAuto,
Montaire :
Format
Nombre gnral
Montaire
Fixe
Standard
Pourcentage (x10)
Scientifique (puissance 10)

Exemple
3456,789
3456,79 F
3456,79
3 456,79
345678,9%
3,46E+03

Ou crez votre propre format. Il comportent entre une et quatre sections et utilise le point-virgule (;) comme
sparateur de section. Chacune peut avoir un format diffrent et corresponde :
nombres positifs;nombres ngatifs;zro;valeur null
Exemple : # ###0;0,00;"zero";"Nul"
Les diffrents formats numriques utilisent les symboles suivants :
Symbol
e
0
#
,
%
F
E- ou eE+ ou
e+

Explications
Affiche un chiffre ou un 0
Affiche un chiffre ou rien
symbole dcimal
La proprit Dcimale permet d'afficher un nombre
de dcimales diffrent de celui du format.
Multiplie par 100 et ajoute le caractre %
Affiche le caractre F
Les exposants ngatifs sont accompagns du signe
moins, les positifs ne sont accompagns d'aucun
signe.
Les exposants ngatifs sont accompagns du signe
moins, les positifs sont accompagns du signe plus.

SOAD LHARAOUI/CPCF : ACCESS

Exemple
00 : affiche 01 pour la valeur 1
#0 : affiche 1 pour la valeur 1 et affiche 10 pour
la valeur 10
0,0 : affiche 1,0 pour la valeur 1,
si la proprits Dcimale est fixe 4, il sera
affich 1,0000
la valeur 1 s'affiche 100% et la valeur 0,1
s'affiche 10%
la valeur 1 s'affiche 1 F
0e-0 : la valeur 0,001 s'affiche 1e-3,
la valeur 1000 s'affiche 1e3.
0e+0 : la valeur 0,001 s'affiche 1e-3,
la valeur 1000 s'affiche 1e+3.
49

"

Tous les caractres compris entre 2 guillemets sont


affichs.

0,00" Tonnes par wagon" : la valeur 1 s'affiche


1,00 Tonnes par wagon

Oui/Non : Vous pouvez choisir entre 3 formats prdfinis : Oui/Non, Vrai/Faux, Actif/Inactif. Par dfaut ces 3
formulaires s'affichent dans la feuille de donnes ou le formulaire sous forme de case cocher, si vous prfrez
voir du texte, modifiez la proprit Afficher le contrle en zone de texte (vous devrez alors tapez oui ou non pour
entrer la donne). Vous pouvez galement crer votre propre format pour afficher votre propre texte, pour cela il
vous faut respecter ce format :
;"Texte pour les valeurs oui ou vrai ou actif";"Texte pour les valeurs non ou faux ou inactif".
Il est indispensable de mettre le 1er point virgule. Si vous ne voulez afficher du texte que pour les valeurs oui :
;"texte". Si vous ne voulez afficher du texte que pour les valeurs non : ;;"texte".
I.3. Dcimales
La valeur par dfaut est Auto, ainsi la proprit Format indique le nombre de dcimales. Si vous indiqu un
nombre, celui-ci sera prioritaire au nombre de dcimale indiqu dans la proprit Format, except le format
Nombre gnral. Exemple avec 3456,789, avec le format Nombre gnral et Dcimales 0, 3456,789 s'affiche; par
contre avec n'importe quel autre format, "0,000" par exemple, le nombre s'affiche 3457 car Dcimales est 0.
I.4. Nouvelles valeurs
S'utilise exclusivement pour le type de champ NumeroAuto, ce dernier champ se calcule automatiquement pour ne
jamais exister en double :

Incrment, Access ajoute 1 la valeur du dernier enregistrement, si vous supprimez un enregistrement la


valeur qui lui avait t attribu ne sera jamais rutilis.
Alatoire Access choisit une nouvelle valeur, n'existant pas encore, de faon alatoire.
I.5. Masque de saisie

Un masque de saisie facilite l'entre de donnes et contrle les valeurs tapes, par exemple, un masque pour un
champ numro de tlphone qui vous montre comment le tapez. Pour tablir votre masque de saisie vous avez 2
possibilits, l'Assistant Masque de saisie ou le taper directement dans la proprit. Il est souvent plus facile
d'utiliser l'Assistant Masque de saisie et de le personnaliser :

Cliquez sur le bouton


situ cot de la zone de texte de la proprit.
Plusieurs masques vous sont proposs :
N Siret

N Scurit Sociale cl

ISBN

Code Postal (international)

N Scurit Sociale

Numro de tlphone

Code Postal (France)

Mot de passe

Heure, abrg

Heure, rduit

Heure, complet

Date, abrg

Date, rduite
Slectionnez un de ces masques, si vous ne trouvez pas exactement celui que vous voulez, choisissez le plus
proche. Cliquez sur Suivant. Si vous n'avez pas besoin de modifier le masque, sautez cette tape. Sinon modifiez le
masque de saisie en utilisant les symboles suivant :
Caractr
e
0
9
#
L
?
A
a
&
C
.,:;-/
<
>
!

Description
Chiffre (0 9, saisie obligatoire; signes plus [+] et moins [-] non autoriss).
Chiffre ou espace (saisie facultative; signes plus et moins non autoriss).
Chiffre ou espace (saisie facultative; blancs convertis en espaces, signes plus et moins autoriss).
Lettre (A Z, saisie obligatoire).
Lettre (A Z, saisie facultative).
Lettre ou chiffre (saisie obligatoire).
Lettre ou chiffre (saisie facultative).
Tout caractre ou espace (saisie obligatoire).
Tout caractre ou espace (saisie facultative).
Virgule dcimale et sparateurs des milliers, de date et d'heure. (En fonction des paramtres
rgionaux du Panneau de configuration de Microsoft Windows).
Implique la conversion en minuscules de tous les caractres qui suivent.
Implique la conversion en majuscules de tous les caractres qui suivent.
Implique que le masque de saisie affichera de droite gauche et non de gauche droite. Les

SOAD LHARAOUI/CPCF : ACCESS

50

caractres taps dans le masque le rempliront toujours de la gauche la droite. Vous pouvez mettre
le point d'exclamation n'importe o dans le masque.
Implique l'affichage du caractre qui suit comme caractre d'affichage littral. Sert afficher tout
caractre compris dans ce tableau comme caractre d'affichage littral (par exemple, \A s'affiche
sous la simple forme A).

Modifiez ventuellement le caractre qui remplit le champ et indique le format de celui-ci tant qu'il est
vide.
Cliquez sur Suivant.
Choisissez l'option que vous dsirez pour stocker les donnes.
Cliquez sur Terminer.
I.6. Lgende

Permet d'indiquer l'avance le texte que les contrles devront afficher en intitul. Dans notre exemple de
bibliothque, dans la table Plages, le champ de rfrence aux auteurs est nomm No A, ce n'est pas trs explicite,
indiquez alors "Auteur" dans la proprit Lgende.
I.7. Valeur par dfaut
Si un champ prend souvent la mme valeur, vous pouvez viter une saisie en attribuant cette valeur cette
proprit. Elle peut tre galement le rsultat d'une expression, comme Date() par exemple. Pour entrez cette
expression, utilisez le gnrateur d'expression en cliquant sur le bouton
proprit.

situ droite de la zone de texte de la

I.8. Valide si
Permet de limiter la saisie des donnes selon une ou des conditions. Il est alors fortement recommand d'indiquer
la rgle de validit dans la proprit Message si erreur. Cette rgle utilise les oprandes : <, >, =, ET, OU, ainsi que
le mot Comme, les symboles *,?. Le tableau suivant vous donne des expressions souvent utilises.
Expression
<>0
>=500 ET <=1000
>Date()+15
"Machin" OU
"Machine"
Comme "A????"
Comme "A*.???"

Description
Toutes les valeurs diffrentes de 0.
Toutes les valeurs comprises entre 500 et 1000.
La date ne doit pas tre antrieure aujourd'hui + 15 jours.
Le texte doit tre Machin ou Machine
Tout texte commenant par la lettre A et contenant 5 lettres.
Tout texte commenant par la lettre A, d'un nombre de caractre minimum de 5 lettres (A, .
et les 3 ?) et finissant par un point et 3 lettres quelconques.
I.9. Message si erreur

Cette proprit est indispensable si vous avez attribu une rgle de validit au champ. Tapez le texte d'explication
pour cette rgle afin de l'expliquer l'utilisateur en cas d'erreur de saisie. Ce message s'affichera dans une petite
bote de dialogue.
I.10. Null interdit
Si vous voulez que l'utilisateur soit oblig de donner une valeur un champ, attribuez OUI cette proprit.
I.11. Chane vide autorise
Si vous attribuez la valeur NON cette proprit, l'utilisateur est oblig de tapez un texte d'au minimum 1
caractre.
La proprit Null interdit et celle-ci vous paraissent similaires, mais Access les diffrencie. Par exemple, dans une
requte faisant appel plusieurs tables , les enregistrements dont le champ commun contient une valeur nulle ne
sont pas affichs par contre ceux contenant une chane vide sont affichs.
I.12. Index
Un index permet Access d'acclrer les requtes sur les champs indexs ainsi que les tris et regroupement. La
proprit peut prendre les 3 valeurs suivantes :
Non

Oui - avec

SOAD LHARAOUI/CPCF : ACCESS

Oui - sans doublons


51

Pas d'index

doublons
Cre un index

Cre un index, mais chaque valeur entre devra tre unique, sinon Access la
refuse.

I.13. Afficher le contrle


Cette proprit se trouve sur l'onglet Liste de choix, elle dfinit le contrle afficher lors de la cration d'un
formulaire. La valeur par dfaut est zone de texte, selon le champ, vous avez le choix entre Case cocher, Zone de
texte et Zone de liste modifiable.
LISTE DE CHOIX
Dans une table, pour entrer des donnes dans un des champs, vous pouvez utiliser une liste de choix base sur
une ou plusieurs autres tables. Pour crer cette liste, vous utilisez l'Assistant liste de choix. Dans ce cas, de
nouvelles proprits sont disponibles pour ce champ.
I. Zone de liste et Zone de liste modifiable
I.1 Origine source
Cette proprit utilise les paramtres suivants :
Paramtre
s
Table/requt
e
Liste valeurs
Liste
champs

Description
Les donnes proviennent d'une table ou sont le rsultat d'une requte enregistre ou d'une requte
dfinie par la proprit Contenu. C'est la valeur par dfaut.
Les donnes constituent une liste d'lments dfinie dans la proprit Contenu.
Les donnes constituent une liste de noms de champs provenant d'une table, d'une requte
enregistre ou d'une requte dfinie par la proprit Contenu.

Elle est intimement lie la proprit Contenu.


I.2 Contenu
Cette proprit renseigne la proprit prcdente, selon le paramtre de cette dernire, elle contient :
OrigineSource
Table/requte
Liste valeurs
Liste champs

Contenu
Un nom de table, de requte ou une instruction SQL.
Une liste d'lments spars par des points-virgules (;).
Le nom d'une table, d'une requte ou une instruction SQL.

Pour indiquer le nom d'une table ou d'une requte, slectionnez- la dans la liste droulante de la proprit. Pour la
liste de valeurs, tapez chacune des valeurs spars par des points-virgules dans la zone de texte de la proprit.
Pour l'instruction SQL, cliquez sur le bouton
, situ droite de la proprit, une fentre de cration de requte
s'ouvre, procdez comme pour la cration d'une requte. Si vous voulez mieux dcrire la liste, celle-ci peut se
composer de plusieurs colonnes, le titre de chacune de ces colonnes est un champ rsultant de la requte cre
dans cette fentre.
I.3 Colonne lie
Cette proprit indique Access, quelle colonne contient la valeur enregistrer dans le champ. La valeur par
dfaut est 1. Si vous indiquez la valeur 0, c'est le numro de la ligne qui est enregistr, savoir que la premire
ligne a le numro 0. Si vous indiquez une valeur suprieure 0, c'est la valeur slectionne dans la colonne
spcifie qui est enregistre.
I.4 Nbre colonnes
Cette proprit permet d'indiquer le nombre de colonnes affiches par la liste. Elle est comprise entre 1 et le
nombre de champs de la table ou de la requte. La liste affiche alors les champs de la source, de gauche droite,
jusqu'au nombre spcifi par la proprit. Elle est automatiquement dfinie par l'Assistant Liste de choix.
Si vous l'utilisez sur une liste de valeurs, elle rpartira ces valeurs sur le nombre de colonnes spcifi. Par exemple,
dans la proprit Origine source, vous tapez la liste "a";"b";"c";"1";"2";"3", si vous affectez :
Nbre colonnes
1

Liste
a
b

SOAD LHARAOUI/CPCF : ACCESS

52

c
1
2
3
a
c
2
a
1

2
3

b
1
3
b
2

d
3

I.5 En-ttes colonnes


Si la proprit est dfini OUI, la liste affiche une ligne d'en-tte, dans le cas d'une source Table ou Requte, les
titres des champs sont affichs, dans le cas d'une source de valeurs, la premire ligne des lments est affiche
comme en-tte.
I.6 Largeurs colonnes
Cette proprit permet d'indiquer la largeur de chacune des colonnes d'une liste multi-colonnes. La largeur
spcifie de chacune des colonnes doit tre spar par un point virgule. Pour ne pas afficher une colonne, indiqu
la valeur 0. Si nous reprenons l'exemple de la proprit Nbre colonnes (avec la valeur 3), avec la proprit Largeur
colonnes : 1,5cm;0;1,5cm. La liste se prsente ainsi :

II. Zone de liste modifiable uniquement


II.1 Lignes affiches
Avec cette proprit vous indiquez le nombre de lignes affiches lorsque vous droulez la liste. La valeur par dfaut
est 8.
II.2 Largeur liste
Cette proprit vous permet d'indiquer la largeur de la liste lorsqu'elle est droule. Elle peut tre plus large que la
largeur du champ mais plus petite.
II.3 Limiter liste
Cette proprit permet de grer l'insertion d'une donne non comprise dans la liste. Si vous la dfinissez OUI,
Access refusera cette donne, et l'utilisateur doit recommencer la saisie, dans le cas contraire il accepte toute
donne qui respecte la proprit Valide si.
CONTROLE SUR FORMULAIRE :

Slection: permet de slectionner le contenu d'une zone.

SOAD LHARAOUI/CPCF : ACCESS

53

Assistant contrle permet de travailler ou non avec des contrles, c'est une aide prcieuse pour la cration
d'un formulaire.
Texte (tiquette): permet de taper un texte (titre par exemple).
Champ: permet d'insrer un champ provenant d'une table ou d'une requte
Bouton bascule, bouton cocher et Case cocher ont la mme fonction, seule la prsentation
change. Ces boutons sont utiliser dans des champs de type "Oui/non"
Zone de liste modifiable permet de slectionner une rponse dans une liste ou une autre rponse
Zone de liste ne permet de choisir que les rponses dans la liste
Bouton de commande: permet de crer des boutons de fonctions, fermer la fentre, quitter l'application,
.... Cette fonction sera utilise pour faire un formulaire de "dmarrage" de la base de donne
Image: permet d'insrer une image fixe, un logo par exemple
Cadre d'objet indpendant permet d'insrer un objet venant d'une autre application indpendamment
du contenu
Cadre d'objet dpendant permet d'insrer un objet d'une autre application mais dpendant de
l'enregistrement
Saut de page, permet de couper le formulaire en pages
Contrle d'onglet: permet d'insrer des onglets pour afficher plus d'informations
Sous-Formulaire: serons vus avec les bases de donnes relationnelles
Ligne: insrer une ligne dans le formulaire
Rectangle: insre un rectangle dans votre formulaire

SOAD LHARAOUI/CPCF : ACCESS

54