Académique Documents
Professionnel Documents
Culture Documents
BASE DE DONNEES
ACCESS
Soad LHAROUI
Cours ACCESS
Introduction
Avant de commencer, regardons quelques-uns des avantages d'une base de donnes.
Accs l'information plus rapidement et facilement.
Toute l'information se retrouve une seule place; dans votre base de donnes.
Plus besoin d'essayer de regrouper l'information qui provient de plusieurs sources.
Recherche Ad hoc facile.
Ex.: Combien me reste-t-il en stock du produit X ? Qui sont mes dix clients les plus importants en ce moment ? Quels
produits sont mes meilleurs vendeurs ? Quels sont mes meilleurs reprsentants ?
Meilleur suivi de l'information.
Meilleure gestion des donnes.
Meilleure analyse des donnes.
Meilleure prise de dcision.
Mieux apte rpondre aux besoins de la clientle.
Automatisation de certaines tches rptitives.
POURQUOI APPRENDRE UNE BASE DE DONNES RELATIONNELLES ?
Ce type de base de donnes a plusieurs avantages compars une base de donnes simple aussi appele "flat file". Elle
utilise beaucoup moins d'espace parce qu'elle rduit au minimum les redondances ou les rptitions des donnes.
Pour mieux comprendre l'avantage d'un systme de gestion de base de donnes relationnel (SGBDR), utilisons un
exemple de factures pour comparer ces deux types de BD et pour montrer certains concepts de base d'un SGBDR.
Regardons quelques-unes des donnes que l'on retrouve normalement sur une facture:
Ex.: Date, Numro de facture, Numro du vendeur, Numro du produit, Quantit vendue, Prix unitaire, Description
du produit, sous total, Taxes, Total ...
Voici quelques-unes de ces donnes dans un BD simple.
No. Facture
1001
1002
1003
Client
ABC
ABC
XYZ
Produit
415
416
415
Description
TRIANGLE
CARR
TRIANGLE
Prix Unitaire
12.75
10.00
12.75
Qt ...
50
20
75
L'ide d'une base de donnes relationnelle est de rpartir les donnes dans plusieurs BD ou tables et de crer des
connexions, des points communs, des liens, des relations entre chacune d'elles. Voici comment les variables
pourraient tre divises dans une BD relationnelle.
Facture
No. Facture
No. Produit
Qt vendue
No. Vendeur
No. Client
Client
No. Client
Adresse
Code Postal
No. tlphone
Personne autorise
Vendeur
No. Vendeur
Nom
Prnom
No. Ass. Soc.
Date d'embauche
Inventaire
No. Produit
Description
Prix unitaire
Qt disponible
Qt commande
Dans le tableau prcdent, la table FACTURE va chercher les informations sur le client de la table CLIENT par le
champ commun NO. CLIENT. Il est inutile de rcrire les donnes du client plusieurs fois. On peut aller chercher
l'information grce une relation entre ces deux tables: soit par le champ No. Client. La mme chose se produit pour
les informations ncessaires pour les tables VENDEUR et INVENTAIRE par leurs variables communes NO.
VENDEUR et NO. PRODUIT respectivement.
Soad LHAROUI
Cours ACCESS
De cette manire, il est inutile de rcrire les donnes redondantes ou rptitives. Ceci conserve de l'espace pour
d'autres donnes. Pour les trois factures de l'exemple, on conomise de l'espace et du temps ne pas avoir rcrire
les informations sur le client ABC ni la description et le prix unitaire du produit 415.
Dfinitions
L'utilisation d'une base de donnes apporte aussi de nouveaux termes comprendre. Voici une liste des termes qui
seront utiliss pour toutes les pages sur les sujets d'Access.
Une information ncessaire sur une personne, une chose ou un vnement. Ex.: couleur, taille,
modle, date, nom, prnom, tlphone, adresses, description, commentaires etc.
Enregistrement: Un regroupement de champs qui dcrient une personne, une chose ou un vnement. Ex.: nom,
prnom, date de naissance, tlphone, numro d'assurance sociale ou compagnie, adresse, tlphone,
tlcopieur, personne responsable ou dpartement, personne responsable, tlphone.
Champ:
Table:
Base de
donnes:
Le champ tlphone est utilis de trois manires diffrentes. Il est soit le numro de tlphone d'un
employ, d'une personne dans une compagnie ou d'un dpartement.
Un regroupement d'enregistrements sur un thme un commun. Ex.: employs, inventaire, client,
fournisseurs, vhicules, contacts etc.
Un regroupement de tables, de requtes, de formulaires, et de rapports et de programmation qui
constitue un systme complet. Ex.: gestion de la facturation, gestion de l'inventaire, immatriculation
des vhicules, carnet de numro de tlphone, rservations etc.
La dfinition d'une base de donnes prend maintenant un sens plus large qu'auparavant. Ce n'est plus juste un fichier
qui contient de l'information utile pour l'utilisateur. Il contient aussi les requtes, les formulaires, les tats, les macros
et les modules pour dvelopper une "application" ou un "systme" qui rpond aux besoins spcifiques de l'utilisateur.
Quelles sont les composantes d'Access ?
Tables:
Requtes:
Formulaire:
tat:
Macro:
Modules:
Cours ACCESS
Vous pouvez aussi utiliser la technique "bottom-up". partir de la base, vous dterminer toutes les informations qui
sont ncessaires pour les requtes, les formulaires et les tats de votre base de donnes. Vous pouvez utiliser les deux
techniques pour vous assurer d'avoir toutes les informations ncessaires.
Pour les besoins de l'exercice, prenez quelques instants et crivez sur une feuille quels champs que l'on retrouve sur
une facture. Essayez de trouver autant de champs que vous pouvez.
Liste des champs
Voici la liste de champs que l'on peut retrouver une facture.
Date, Numro de facture, Numro de client, Adresse de facturation du client, Ville, Numro de tlphone, Numro de
tlcopieur, Adresse de courriel (courrier lectronique), Adresse de livraison, Personne contact, Conditions de
paiement, Numro de produit, Description du produit, Prix unitaire du produit, Quantit achete, Total pour l'item,
sous total, TPS (Taxe sur le Produits et Services, 7% du total), TVQ (Taxe de vente du Qubec, 7,5% du total et de la
TPS, TVA en Europe), Grand total, Escompte, Bon de commande, Numro du vendeur, Nom du vendeur ...
Ouf ! C'est peut tre un peu plus que vous vous attentiez.
La seconde tape: regrouper les informations dans des tables.
Il faut ensuite regrouper en entits toutes ces informations (champs) dans une table ou un "thme" en commun. Ex.:
Est-ce que le champ "Escompte" ou "Conditions de paiement" ira dans l'entit (table) "Facture" ou avec "Client" ?
Je vais premirement vous dmontrer ma technique pour regrouper les champs dans des tables et pour dterminer les
relations entre ces tables. Par aprs, on discutera de la technique de la normalisation. Ma technique est un peu plus
simpliste et demande un peu d'exprience. L'utilisation de la technique de la normalisation est une manire difficile
d'accomplir accomplir et raliser. Mais elle est infaillible lorsqu'on la comprend et on l'applique correctement. Ces
deux manires veulent atteindre le mme rsultat: regrouper des champs dans des tables de manire la plus efficiente
possible. Premirement ... ma technique.
Le concept est de distribuer les champs dans le plus grand nombre de tables possibles. Mais il y a certaines rgles
suivre:
Regroupement des champs dans des tables qui peuvent tre relies.
Pas de ddoublement de champs, sauf pour les champs en commun.
Pas de ddoublement d'entre d'information.
Pas de champs calculables dont on peut avoir le rsultat avec les informations des autres champs des tables. Ex.:
Total = Qt * Prix unitaire
Il faut regrouper les champs dans des tables. Quels sont les champs que l'on peut regrouper ensemble ? Pour vous
aider dans cette tche, basez-vous sur des lments de la vie de tous les jours, du concret. Cela aide aussi de connatre
les processus de l'entreprise. Quelles sont les oprations accomplies ? Qui utilise quelle information ? Pour la facture,
on retrouve des lments qui distinguent la facture, le client, les produits et le vendeur. Ce sont les quatre tables qui
seront utilises.
S'assurer que les champs sont dans la bonne table. Qu'il n'y a pas de tables caches l'intrieur des autres.
l'exception des champs en commun qui servent "relier" les tables, un champ ne devrait pas se retrouver dans
plusieurs tables.
Dterminer les cls primaires
Une cl primaire est un champ, ou une srie de champs, qui permet de diffrencier un enregistrement des autres. Par
exemple, bien qu'il puisse avoir plusieurs factures avec la mme date, la mme quantit achete, au mme client ou
avec le mme vendeur, il n'y aura pas deux factures avec le mme numro de facture. Une cl primaire n'est pas obligatoire
pour une table. Elle le devient lorsque vous voulez relier deux tables. L'une des tables doit avoir une cl primaire.
Soad LHAROUI
Cours ACCESS
Essayez de dterminer quel champ serait appropri pour une cl primaire pour la table Employs. Certainement pas
le champ sexe. moins qu'il y ait seulement un homme et une femme dans l'entreprise. Cela limite un peu la
croissance de l'entreprise ! Fumeur ? Permanence ? Mme chose. Il y a seulement deux valeurs possibles (H ou F, Oui
ou Non ...). Puisqu'on ne peut pas entrer deux fois la mme valeur dans une cl primaire, ceux-ci ne sont pas de bon
choix.
Il est possible d'utiliser le champ Nom de famille aussi longtemps que deux personnes dans l'entreprise n'aient pas le
mme nom. Ensuite, il est toujours possible de crer une cl primaire compos de deux champs: nom de famille et
prnom. Cette cl va fonctionner correctement jusqu' ce que deux employs aient le mme prnom et le mme nom.
Pour rgler ce problme, il est possible de crer une cl primaire compose du nom de famille, du prnom et de la
date de naissance. Cette cl primaire va fonctionner correctement jusqu' ce que ... Cela peut continuer longtemps.
Rendu un certain point, vous verrez qu'il est prfrable d'avoir un champ nomm Numro d'employ ou Numro
d'assurance social pour distinguer chacun des enregistrements de la table. Mais il y a des occasions o il est ncessaire
d'avoir une cl primaire qui est compose de plusieurs champs. L'une de ces situations sera explique un peu plus loin
sur cette page.
Prenez quelques instants pour essayer de dterminer quels champs dans la table seraient appropris pour tre la cl
primaire ou tre dans la cl primaire.
Dterminer les relations entre les tables
Pour qu'une relation soit possible entre deux tables, il faut:
2 tables (ou requtes ou une combinaison des deux)
1 champ en commun dans chacune des tables.
Mme type de champ (Texte avec texte, numrique avec numrique... sauf exception de numroauto avec
numrique)
Mme longueur (Pas un champ long de 15 caractres avec un autre long de 50 caractres !)
Mme genre d'information (Ex.: Code d'inventaire avec des codes d'inventaires, NAS avec NAS ...)
Vous n'tes pas oblig de relier toutes les tables l'une l'autre. Il est possible d'accder l'information tant que les
tables soient relies directement ou indirectement en elles. Vous trouverez plus de dtails sur la page des relations.
Dterminer les types de relations (cardinalit)
Il existe trois types de relations : 1 1, 1 plusieurs et plusieurs plusieurs. Afin de ne pas rpter le texte, vous
trouverez toutes les informations ncessaires pour dterminer le type de relation et comment crer des relations sur la
page sur les relations.
Pour l'exemple qui est utilis sur ce site, voici comment relier les tables dont les informations se retrouvent sur une
facture.
Soad LHAROUI
Cours ACCESS
L'image ci-dessus dmontre la liste des tables avec les champs qui les composent. De plus les lignes indiquent les
relations entre les tables. La relation de types plusieurs plusieurs requiert une tables intermdiaire compos, au
minimum de la cl primaire des deux tables relier. C'est la raison d'tre de la table Transition Fact-Inv qui pourrait
tout aussi s'appeler Items de la facture.
La normalisation et les formes normales.
L'avantage d'une base de donnes relationnelle est d'viter au maximum les rptitions ou les redondances
d'information. La normalisation sert sparer la liste des champs en plusieurs tables pour avoir une base de donnes
qui est plus efficace. On parle de retirer progressivement quelques problmes que l'on retrouve dans les bases de
donnes pour afficher la base de donnes sous diffrentes formes normales (1re, 2ime, 3ime ...) Pour le moment,
nous allons seulement regarder les trois premires formes normales.
Premire forme normale: rptition des donnes
Pour atteindre la premire forme normale, il faut liminer les groupes rptitifs en les sparant en plusieurs tables. Le
travail accomplir pour atteindre la premire forme normale est d'viter compltement les rptitions d'entre de
donnes.
Par exemple, une facture peut contenir plusieurs produits.
Numro de facture
Numro de produit
1, 3, 5
Donc, il peut avoir plusieurs numros de produits pour une mme facture. Ceci est de la redondance et ce n'est pas
une forme approprie pour conserver de l'information dans une base de donnes relationnelle. Comment fera-t-on
ensuite pour relier une modification au bon produit ? Il faut donc mettre Numro de produit dans une table autre que
Facture. On peut en mme temps dplacer les champs similaires dans l'autre table. Le test de la deuxime forme
normale va s'assurer que les champs sont la bonne place.
Il faut s'assurer que l'utilisateur ne va entrer plusieurs fois la mme information. Par exemple, cela ne serait pas
efficace d'avoir une table "Facture" qui contiendrait aussi les champs "Nom du client", "Adresse de livraison",
"personne contact". Cela ne passerait pas la premire forme normale. La raison est qu'il faudrait que l'utilisateur
rentre pour chaque facture la mme information qu'il a dj entr dans les factures prcdentes pour le mme client.
Aprs tout, combien de fois peut-on entrer la mme adresse ? Pas vraiment efficient ! C'est pour cette raison qu'il faut
"dcouper" la liste des champs dont vous avez besoin dans plusieurs tables pour avoir une forme efficiente d'entre et
d'utilisation des donnes. La mme situation se rpte pour les informations sur le vendeur.
Facture: Numro de facture, date, bon de commande, escompte
Clients: Numro de client, adresse de facturation, ville, numro de tlphone, numro de tlcopieur, adresse de
courriel, adresse de livraison, personne contact, escompte, conditions de paiement
Employs: Numro du vendeur, nom, prnom, numro d'assurance social
Inventaire: Numro de produit, description, prix unitaire, quantit achete, quantit disponible
Il faut ensuite dterminer la cl primaire pour chaque table. Cela est ncessaire pour la seconde forme normale. Une
cl primaire est un champ, ou une srie de champs, qui permet de distinguer un enregistrement des autres. Pour la
table Facture, la cl primaire est le champ Numro de facture. Le contenu de tous les autres champs de la table peut se
rpter ce qui serait contraire la convention d'une cl primaire.
Deuxime forme normale: Dpendance directe la cl primaire
Pour se rendre la deuxime forme normale, il faut premirement avoir passer travers la premire forme normale. Il
faut ensuite liminer les dpendances partielles. Cela veut dire qu'il faut s'assurer que tous les champs de la table
dpendent de la cl primaire de la table. Sinon, il faudra crer une nouvelle table ou dplacer le champ.
Soad LHAROUI
Cours ACCESS
Le problme pour ce niveau est le champ Quatit achete. Il dpend en mme temps du numro de facture et du
numro de produit. Une facture peut avoir plusieurs produits. Mais un produit peut aussi se retrouver sur plusieurs
factures. Il y a donc une relation de plusieurs plusieurs entre ces deux tables.
Facture: Numro de facture, Date, bon de commande, escompte
Clients: Numro de client, adresse de facturation, ville, numro de tlphone, numro de tlcopieur, adresse de
courriel, adresse de livraison, personne contact, escompte, conditions de paiement
Employs: Numro du vendeur, nom, prnom, numro d'assurance social
Inventaire: Numro de produit, description, prix unitaire, quantit disponible
Items: Numro de facture, Numro de produit, Quantit achete
Voici un exemple du contenu de la table items. Pour cette base de donnes, la table est appel Transition Fact-Inv
puisqu'elle permet de relier les tables Facture et Inventaire. Vous remarquez aussi que la cl primaire de cette table est
compos de deux champs: Numro de facture et Numro de produit. Ce sont aussi les cls primaires des tables
Facture et Inventaire.
Numro de facture
Numro de produit
Quantit achete
10
25
50
100
Dans cette table, un mme numro de facture et un mme numro de produit peuvent tre utilis plusieurs fois. Mais
Troisime forme normale: Dpendances partielles de la cl
Troisime forme normale: liminer les dpendances transitives. Il faut s'assurer qu'il n'y a pas de tables qui soient
caches parmi les autres.
Aussi, les tables ne devraient jamais contenir de champs calculs. Par exemple, il ne devrait pas avoir les champs "sous
total", "Total", "TPS", "TVQ", "TVA" ou "Autres taxes" dans les tables puisqu'il est possible de les calculer partir des
donnes qui sont dj dans les tables. Il est possible d'avoir le "sous total" en multipliant les "Quantit vendue" par les
"Prix unitaire". Donc, il est inutile de l'avoir dans les tables.
La troisime tape est de dterminer les relations entre les diffrentes tables. Il faut regarder quelles sont les relations
possibles entre les entits. Pour avoir une relation, deux tables doivent avoir au moins un champ en commun. On peut
relier une facture un client par le champ "ID_Client". Ou encore, relier un produit une facture par le champ
"ID_Produit" etc. Vous devriez ce moment vous apercevoir que certains champs seraient mieux placs dans une
autre entit. Une fois que vous avez ralis les regroupements et dtermin les relations, vous avez votre base pour la
cration des tables.
Maintenant que vous avez les entits et les champs qui les composent, pensez quoi devrait ressembler vos
formulaires et vos tats. Est-ce que les champs que vous avez choisis rpondent tous vos besoins ? Prenez tout le
temps ncessaire pour l'analyse. Il vous cotera beaucoup plus de temps et d'effort si vous passez trop rapidement la
cration et oubliez des lments importants.
Soad LHAROUI
Cours 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 donnes
Dfinition
Taille du champ
TEXTE
Contient tout type de caractres (chiffres,
Dfini par l'utilisateur, de 1 octet jusqu' 255
lettres;symbole...)
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 numro Taille non paramtrable (quivaut la
"incrment"
taille entier long)
OUI/NON
NUMERIQUE
MONETAIRE
OLE
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)
Ce type de donnes conserve en mmoire tous 8 octets (taille non paramtrable)
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
Permet de rechercher une valeur parmi une
LISTE DE CHOIX liste de valeur provenant dune autre table.
Gnralement, les listes de choix sont
utilises pour les cls trangres.
DATE/HEURE
Permet d'entrer des dates ou des heures
Soad LHAROUI
Cours ACCESS
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
PAIEMENT
TEXTE
ENCOURSCLI
NUMERIQUE
PLAFONDCLI
NUMERIQUE
CPCLI
NUMERIQUE
Taille du champ
Entier long
40
40
25
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
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 .
Code
NOMCLI
Soad LHAROUI
ADRCLI
Enregistrements saisir
VILLECLI
PAIEMENT
ENCOURS
PLAFO
CPCLI
9
Cours ACCESS
client
00001
00002
00003
00004
Vent du
Sud
Crion
Edition du
Cherche
Midi
Pic Puce
10 rue
Montaigne
15, rue JB
Lebas
221, Boulevard
de la rpublique
171, route de
Valenciennes
00005 Assurance 12, rue de
Azur
l'Eglise
MODES OPERATOIRES
LILLE
LILLE
LILLE
SIN LE
NOBLE
SIN LE
NOBLE
Chque
rception
Chque
rception
Chque
rception
30 jours fin de
mois
30 jours fin de
mois
CLI
112 000.00
F
29 200.00 F
NDCLI
50000
59000
50000
59000
47 200.00 F
90000
59000
37 000.00 F
130000
59450
147 000.00
F
100000
59450
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 LHAROUI
10
Cours 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 :
Description - Exemples
>
Tous les caractres du champ seront en majuscules
<
Tous les caractres du champ seront en minuscules
@ (<Alt Gr>0) permet de personnaliser laffichage des caractres Exemple : pour personnaliser un n de
Soad LHAROUI
11
Cours ACCESS
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"
MESSAGE SI ERREUR
Le pays saisi doit tre la France
Le code postal nest pas valide
La ville doit tre PARIS, LYON ou
LILLE
ACTIVITE
Paramtrez les proprits de certains champs de la table CLIENT en tenant compte des indications ci-dessous
Nom du
champ
CODECLI
VILLECLI
CPCLI
Description
Lgende
Format
Code client
Entrez le code postal
00000
En majuscule
Code Postal @@@@@
Rgle de validation/message
derreur
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
Soad LHAROUI
12
Cours ACCESS
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 enregistrements suivants de la
table CLIENT :
Code
NOMCLI
ADRCLI
code
VILLEC COD
PAIEMENT
ENCOURS
PLAFON
client
postal
LI
ERE
CLI
DCLI
G
00006 Mcanord
ZAC les
59450
SIN LE
3 60 jours fin de
269 000.00
280000
Epis
NOBLE
mois
F
00007 Le soleil de
125, place
59500
DOUAI
4 90 jours fin de
29 600.00 F
50000
Tunis
du Barlet
mois
00008 Joue Club
356, rue de 59500
DOUAI
4 90 jours fin de
176 200.00
190000
Bellain
mois
F
00009 Micropuce
147, rue de 59500
DOUAI
3 60 jours fin de
72 350.00 F
95000
Paris
mois
00010 Centre
15, rue de
59187
DECHY
3 60 jours fin de
294 150.00
310000
franais de
Saint
mois
F
restauration Sulpice
Basculez en mode Feuille de donnes et effectuez la saisie.
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
Soad LHAROUI
13
Cours ACCESS
Soad LHAROUI
14
Cours ACCESS
de
se
dplacer
dans
les
2) Vous allez saisir les sept derniers enregistrements de la table CLIENT en utilisant le formulaire prcdent :
Code
clien
t
00011
NOMCLI
ADRCLI
Lyce
Rambaux
105, rue
Paul
Foucaut
124, Bd
Jeanne de
Flandres
07, place
Saint Am
12, rue de
Maupassan
t
rue des
Cytises
14, rue des
prs
00012
Briko
Boutik
00013
Carbone
Copy
SriTech
00014
00015
00016
00017
Berteman
Inc.
Bils
Deroo
Transport
Ets Mario
Land
147, rue
Bollaert
code
posta
l
59450
VILLECLI
SIN LE
NOBLE
COD
ERE
G
1
PAIEMENT
ENCOURS
CLI
PLAFOND
CLI
Chque
rception
503 200.00 F
500000
59265
AUBENCHE
UL AU BAC
Chque 60
jours
24 350.00 F
80000
59500
DOUAI
116 000.00 F
180000
59650
VILLENEUV
E D'ASCQ
60 jours fin
de mois
60 jours fin
de mois
263 000.00 F
310000
62221
60 jours fin
de mois
90 jours fin
de mois
128 000.00 F
97000
59119
NOYELLES
SOUS LENS
WAZIERS
178 000.00 F
195000
62300
LENS
30 jours fin
de mois
60 000.00 F
60000
Soad LHAROUI
CATEGORIE
CODECAT
LIBELLECAT
ACC
Accessoires
fournitures
MOB
Mobilier petit
matriel
OUV
Ouvrages
PAP
Papeterie
15
Cours ACCESS
PRODUIT
CODEAR
T
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DESIGNART
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
Calulatrice scientifique Cazio
Calculette Euro
Ramette papier multi usages
Papier qualit photo /20
Support mural pour moniteur
Filtre anti-reflet pour moniteur
Crer un site avec Front Page
Programmation en javascript
Les grandes courants du management
Le mmento du comptable dbutant
WebCam Sauni
Kit de reconnaissance vocale pour PC
TVAAR
T
19.60%
19.60%
19.60%
19.60%
19.60%
19.60%
19.60%
19.60%
19.60%
19.60%
19.60%
19.60%
19.60%
5.50%
5.50%
5.50%
5.50%
19.60%
19.60%
PUHT
CODECAT
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)
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
Soad LHAROUI
16
Cours ACCESS
Les requetes
Introduction
L'un des lments les plus puissants d'une base de donnes est la capacit de faire une recherche sur une masse de
donnes entrepose dans la base de donnes. Il est ensuite possible de faire des analyses et d'en sortir des
tendances.Par exemple, vous navez pas besoin de voir toute la liste des clients si vous avez seulement besoin du
numro de tlphone de lun deux. Il y a aussi des requtes pour certaines requtes d'action telles que la mise jour et
la suppression de donnes.
La prochaine section consiste comprendre la procdure de cration d'une requte en crant une qui donnera des
informations sur les employs. Il faut premirement avoir cr la table "employ" de la page de cration de tables.
Les tapes pour la cration dune requte Access.
1. Choisir la ou les tables et les requtes ncessaires
2. Choisir le type de requte
3. Choisir le ou les champs ncessaires
4. Dterminer si les champs ont besoin dtre tris
5. Cacher les champs au besoin
6. Dterminer les critres de slection
7. Excuter la requte
8. Options spcialises : regroupement, gnrateur d'expression
9. Relier des tables
Le mode Cration est celui qui vous permet toutes les options pour la cration d'une requte. Cependant, il n'y a pas
d'assistant pour vous aider. C'est en partie pour cette raison que cette page existe; pour vous dmontrer le potentiel
des requtes.
L'assistant requte simple vous demande la liste des champs que vous voulez voir et affiche le rsultat. Il n'y a pas
de critres de slection. Il affiche les champs demands pour tous les enregistrements.
L'assistant requte analyse croise vous demande quelques questions pour crer un tableau crois. Vous pouvez
facilement savoir le nombre, la somme, la moyenne et d'autres oprations d'un champ par rapport un autre. Par
exemple, vous pouvez savoir le nombre d'employs qui travaille dans l'entreprise par lieu de travail et par occupation.
Ou, quels types de produits achtent les diffrents clients de l'entreprise. Cela peut devenir un outil d'analyse
puissant.
L'assistant requte trouver les doublons est aussi trs intressant lorsque vous ayez des difficults crer des
relations entre les tables. L'une des raisons pour qu'Access refuse de crer une relation entre les tables est qu'il y a un
doublon illgal dans l'une des tables. Cette requte vous permettrait de savoir quel enregistrement a un contenu d'un
Soad LHAROUI
17
Cours ACCESS
champ en double pour vous permettre de corriger la situation.
L'assistant requte de non correspondance est aussi utile pour les relations entre les tables. quoi sert une relation
s'il n'y a pas la donne quivalente dans l'autre table ? Cette requte permet de trouver les enregistrements qui n'ont
pas d'quivalent, ou de valeur en commun, dans l'autre table relie. Ceci permet de s'assurer que tous les
enregistrements sont relis de l'information d'une autre table.
Vous pouvez crer une requte partir d'une table ou mme d'une autre requte. Il est mme possible d'avoir une
requte qui est compose de champs provenant de plusieurs tables ou de requtes. Access va vous demander de la
liste des tables et des requtes de choisir laquelle ou lesquelles vous voulez ajouter votre nouvelle requte.
Slectionnez, une la fois, les tables et les requtes et appuyez sur le bouton ajouter. Une fois que vous aurez
slectionn la table, la requte ou une combinaison des deux dont vous avez besoin, appuyez sur le bouton Fermer.
Il est possible de crer une requte partir de plusieurs tables ou de requtes ou une combinaison des deux. Si, pour
une raison ou une autre, vous avez oubli une table ou une requte, vous pouvez en ajouter en mode cration en
appuyant sur le bouton
Pour les besoins de formation, les prochaines requtes seront tous composes partir de la table Produit.
Exemple :
La premire ligne sert pour slectionner les champs dont vous avez besoin pour votre requte. La seconde ligne est
pour dterminer l'ordre d'affichage des donnes. La troisime ligne est pour dterminer si le champ doit tre affich
ou pas. Pour certaines conditions, il est prfrable de ne pas afficher un champ. La quatrime ligne et les lignes
suivantes servent dterminer les critres pour afficher un enregistrement.
Choisir le type de requte
Access vous offre six genres de requtes. Chacune est spcialise pour un certain genre de recherche ou d'opration.
Requte slection : Affiche les enregistrements qui rpondent aux critres demands. C'est le type que vous allez
utiliser le plus souvent. Il affiche seulement les enregistrements qui rpondent aux critres slectionns.
Requte analyse croise : Affiche un tableau de synthse selon les champs demands.
Requte nouvelle table: Cration dune nouvelle table avec les champs demands selon les critres demands.
Requte mise jour: Mise jour des enregistrements selon les critres demands.
Requte ajout: Ajoute des enregistrements dune autre table selon les critres demands.
Soad LHAROUI
18
Cours ACCESS
Requte suppression: limine des enregistrements selon les critres demands. Il est possible d'effacer en mme
temps un groupe d'enregistrements qui rpondent aux critres demands.
Pour le moment, il s'agit d'une requte de type slection.
Choisir le ou les champs ncessaires
Parmi les tables et les requtes que vous avez choisies, vous devez choisir les champs dont vous avez besoin pour
votre nouvelle requte. Cela veut dire que vous ntes pas oblig dutiliser tous les champs; seulement ceux
ncessaires pour la requte. Aussi, le caractre " * " situ au dbut de chaque table qui se retrouve dans une requte
indique que vous pouvez ajouter tous les champs de celle-ci dans la requte dans l'ordre qu'ils sont prsentement dans
la table. Ceci s'applique aussi aux autres requtes que vous pouvez ajouter votre requte.
Il y a trois manires de choisir un champ:
1. Double-clic sur le champ
2. Choisir parmi la liste
3. " Tirer " un champ et linsrer au bon endroit
Double-clic sur le champ
Placez le pointeur par-dessus le champ dont vous avez besoin.
Faites ensuite un double-clic en utilisant le bouton gauche de la souris.
19
Cours ACCESS
De la liste des tables et requtes que vous avez slectionne, placez le pointeur sur lun des champs que vous voulez
dans votre nouvelle requte.
Appuyez et gardez votre doigt sur le bouton gauche de la souris.
Une petite bote blanche va apparatre. Ceci est pour indiquer que vous "tenez" le champ de votre choix. Il ne reste
qu' le mettre dans la zone des critres.
En gardant un doigt sur le bouton gauche de la souris, dplacez le pointeur sur la ligne o vous devez insrer le
nom des champs.
Cette dernire mthode est trs pratique pour insrer un champ entre deux autres. Une fois choisis, ces champs seront
affichs dans le mme ordre que vous les avez choisis de gauche droite. Il est aussi possible de dplacer les champs
dans la requte.
Dterminer si les champs ont besoin dtre tris
Une fois que vous avez choisi les champs ncessaires pour complter votre nouvelle requte, vous devez dterminer si
ces champs ont besoin dtre affichs dans un ordre dtermin. Voulez-vous la liste des clients en ordre alphabtique,
en ordre selon leur chiffre daffaire avec votre compagnie, selon leur lieu gographique ou une combinaison de ces
ordres?
En dessous de chaque nom du champ se trouve l'option pour activer le tri sur celui-ci. Vous pouvez dcider de ne pas
l'activer, le tri ou de l'avoir en ordre croissant ou dcroissant.
Lacasse
Alain
Lemire
Jose
Lacasse
20
Cours ACCESS
Pour cacher un champ de l'affichage
moins qu'un autre oprateur soit choisi, le critre est toujours gale
au contenu du critre.
?, *
Et
Ou
Entre et
Affiche les enregistrements qui sont entre tels et tels critres. Ceux-ci
sont inclusifs.
Pas ou <>
Est Null
Champ calcul
Les oprations
Gnrateur
d'expression
21
Cours ACCESS
Pour revenir ensuite au mode cration, appuyez sur le bouton
OU
Du menu Affichage, slectionnez l'option Cration.
Objectif de la requte
2
3
4
5
6
7
8
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
Soad LHAROUI
22
Cours ACCESS
Visualisez le rsultat de la requte : vous devez entrer un n de produit (entre 1 et 19), par exemple 10
TVAART
19.60%
PUHT
45.00 F
CODECAT
PAP
Cl trangre
Soad LHAROUI
23
Cours ACCESS
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 cidessus). 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 LHAROUI
24
Cours ACCESS
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 :
Soad LHAROUI
25
Cours ACCESS
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 .
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 :
Soad LHAROUI
26
Cours ACCESS
ici, la zone de texte PUHT et son tiquette ont t slectionnes
Pour dplacer une zone de texte et ltiquette associe, on pointe la bordure et on fait glisser (le pointeur
prend la forme dune main : I)
Pour dplacer un des deux lments, on pointe le coin suprieur gauche du contrle (Le curseur prend la
forme dun doigt G)
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
Rduisez la largeur de la colonne contenant le code cat et largissez celle du libell cat
Dcochez cette case (voir remarque ci-aprs)
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 LHAROUI
27
Cours ACCESS
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
Couleur de police
Couleur de bordure
28
Cours ACCESS
APPLICATION NON GUIDEE
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
Accessoires Fournitures
1
2
******
Nombre darticles de la catgorie
DESIGNART
Entte de groupe (Libelle cat)
Dtail
Transparents.
Transparents
manuels
*********
Pied de groupe (Libelle cat)
4
Pied de page
TVAART
PUHT
19.60%
19.60%
30.00 F
13.50 F
******
******
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 LHAROUI
29
Cours ACCESS
1. Crez, laide de lassistant Etat, lEtat CATALOGUE DES PRODUITS fonde sur la requte
Requte formulaire produits :
Etape 3 : Il est possible dterminer un sous-niveau de regroupement (on pourrait par exemple demander un
regroupement par taux de TVA)
Soad LHAROUI
30
Cours ACCESS
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 7 : Saisissez le titre de ltat : CATALOGUE DES PRODUITS puis cliquez sur le bouton Terminer
Soad LHAROUI
31
Cours ACCESS
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
COMMANDE N1
Code
rglement
Code produit
00006
Soad LHAROUI
Dsignation
Bote de CD-R 74 mn/10
du 15/03/2001
Code client : 00007
Le Soleil de Tunis
125, place du Barlet
59500 DOUAI
Qts commandes
P.U.
H.T.
% TVA
20
32
Cours ACCESS
00012
COMMANDE
NOCOM
DATE COM
CODECLI
Cl primaire de la table
COMMANDE
Cl trangre de la table
COMMANDE. Ce champ permettra
dtablir une relation avec la table
CLIENT
LIGNECOMMANDE
NO COM+CODEPROD
DATECOM
QTESCOM
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.
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
Soad LHAROUI
33
Cours ACCESS
II.
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 :
Saisissez maintenant Dans la table lie LIGNE COMMANDE les enregistrements relatifs la 1re commande :
NO COM
00001
00001
00001
00001
Soad LHAROUI
CODEPRO
D
00006
00012
00014
00001
QTES COM
20
4
2
100
34
Cours ACCESS
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
CODEAR
QTESCO
M
T
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
En faisant glisser le pied de formulaire vers le bas, vous pouvez agrandir le formulaire
35
Cours ACCESS
Insertion du sous-formulaire
en mode cration :
Soad LHAROUI
36
Cours ACCESS
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
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)
Soad LHAROUI
37
Cours ACCESS
Ces 3 champs seront mis jour chaque nouvelle commande. Les autres champs ne sont affichs qu titre
dinformation et de contrle
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
Soad LHAROUI
38
Cours ACCESS
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)
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 :
Soad LHAROUI
39
Cours ACCESS
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
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 sous-formulaire. 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)
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 LHAROUI
40
Cours ACCESS
COMMANDE N3
Code client
Dsignation
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
41
Cours ACCESS
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 :
Procdez de mme pour les champs TOT TVA et TOT TTC ( paramtrer comme suit :)
Etiquette
Soad LHAROUI
42
Cours ACCESS
Visualisez le formulaire Saisie des commandes 2 : les totaux concernent toutes les lignes de toutes les
commandes :
- 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
Soad LHAROUI
43
Cours ACCESS
1) Slectionnez lobjet concern par lexpression (ici le sous formulaire
Articles en commande 2
Aprs
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 LHAROUI
44
Cours ACCESS
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 :
Soad LHAROUI
45
Cours ACCESS
COMMANDE N 4
code client
code produit
ETS PAPETIRE
Dsignation
Ramette papier multi usages
Stylo transparents permanents
Transparents photocopieurs/10
Programmation en javascript
COMMANDE N 5
code client
code produit
ETS PAPETIRE
Dsignation
Transparents photocopieurs/10
Transparents manuels/10
Stylo transparents effaables
Stylo transparents permanents
COMMANDE N6
code client
code produit
ETS PAPETIRE
code produit
ETS PAPETIRE
Dsignation
Support mural pour moniteur
Filtre anti-reflet pour moniteur
Stylo transparents permanents
Stylo transparents effaables
COMMANDE N 7
code client
Dsignation
Les grandes courants du management
Calulatrice scientifique Cazio
Bote de CD-RW /10
COMMANDE N 8
code client
code produit
ETS PAPETIRE
Dsignation
Stylo transparents effaables
Stylo transparents permanents
Bote de CD-R 74 mn/10
COMMANDE N 9
code client
code produit
Soad LHAROUI
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
du 19/03/2001
Mcanord
qtes commandes
5
10
7
2
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
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
46
10
10
2
1
2
2
Cours ACCESS
Ramette papier multi usages
Filtre anti-reflet pour moniteur
10
1
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
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
Soad LHAROUI
47
Cours ACCESS
champs)
5. En mode cration de requte, droulez le menu Requte - Cration de table ou cliquez sur le bouton
Type de requte
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 :
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
48
Cours ACCESS
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
Soad LHAROUI
49
Cours ACCESS
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 :
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.
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 :
Soad LHAROUI
50
Cours ACCESS
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
49.50 F
63.80 F
Papeterie
Papeterie
51
Cours ACCESS
9. Fermez la requte
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.
NOCO
M
00004
DATECO
M
19/03/2001
CODECLI
6
52
Cours ACCESS
Enregistrez la requte sous le nom : REQ SUPPRESSION DUNE COMMANDE
Fermez la requte
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)
Accessoires
fournitures
34.30 F
Mobilier petit
matriel
335.85 F
Ouvrag
es
300.32 F
57.17 F
959.21 F
573.67 F
301.85 F
19.06 F
Papeter
ie
777.49 F
49.16 F
228.67 F
43.45 F
137.20 F
22.87 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
Soad LHAROUI
53
Cours ACCESS
Slectionnez les tables qui vous sont ncessaires
Slectionnez ensuite les champs NOMCLI, LIBELLECAT et crez un champ calcul que vous
nommerez HT.
Vous devez obtenir ceci :
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
Soad LHAROUI
TVAAR
T
19.60%
5.50%
19.60%
19.60%
Accessoires
fournitures
34.30 F
Mobilier petit
matriel
335.85 F
Ouvrag
es
Papeter
ie
57.17 F
300.32 F
777.49 F
54
Cours ACCESS
restauration
Crion
Joue Club
Joue Club
Lyce Rambaux
Mcanord
Mcanord
Micropuce
Micropuce
SriTech
19.60%
5.50%
19.60%
19.60%
5.50%
19.60%
5.50%
19.60%
19.60%
959.21 F
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/200
22/03/200
1
1
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
23/03/200
1
24/03/200
1
20
10
2
26/03/200
1
2
2
1
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 LHAROUI
55
Cours ACCESS
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"
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
Annule un vnement qui a entran l'excution de la macro
Applique un filtre, une requte une table, formulaire ou tat.
Arrte la macro en cours d'excution
Arrte toutes les macros en cours d'excution
Active le champ ou le contrle spcifi dans la feuille de donnes ou le
formulaire courant
Active l'enregistrement spcifi.
Active le premier contrle de la page spcifie
Active ou dsactive les messages systme
Emet un signal sonore
Affiche une bote de message d'avertissement ou d'information
Copie un objet dans une base de donnes Access
Exporte un objet au format Excel, Texte (.RTF ou .TXT), document HTML
Dfinit l'tat des lments de menus personnaliss (active, dsactive)
56
Cours ACCESS
DfinirValeur
DplacerDimensionner
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
Exercice :
1. Crer une macro qui permet d'ouvrir le formulaire client en mode "formulaire". Agrandir la fentre.
2.
3.
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.
57
Cours ACCESS
Associer les macros cres prcdemment des boutons de commandes crs dans un formulaire que
vous nommerez MENU.
Soad LHAROUI
58
Cours ACCESS
ANNEXE 2
Proprits
Taille du champ
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
Format
Dcimales
Nouvelles valeurs
Masque de saisie
Lgendes
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 entire de 0 255
valeur entire de -32768 32767
valeur entire de -2147483648 2147483647
valeur dcimale de -3,4*1018 3,4*1018, avec 7 dcimales
valeur 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
Date/heure : dtermine le mode d'affichage de la date et de l'heure. Utilisez les formats de la liste :
Soad LHAROUI
59
Cours ACCESS
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
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.
Tous les caractres compris entre 2 guillemets sont
affichs.
Soad LHAROUI
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.
0,00" Tonnes par wagon" : la valeur 1 s'affiche
1,00 Tonnes par wagon
60
Cours ACCESS
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 :
N Scurit Sociale cl
ISBN
N Scurit Sociale
Numro de tlphone
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 :
Caract
re
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 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
Soad LHAROUI
61
Cours ACCESS
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
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
Pas d'index
Soad LHAROUI
Oui - avec
doublons
Cre un index
62
Cours ACCESS
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 :
Paramtres
Table/requte
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.
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
2
Soad LHAROUI
Liste
a
b
c
1
2
3
a
b
63
Cours ACCESS
c
2
a
1
1
3
b
2
d
3
Soad LHAROUI
64
Cours ACCESS
Soad LHAROUI
65