Anda di halaman 1dari 79

MICROSOFT ACCESS 2003

1. Introduction la base de donne


1. Introduction
Une base de donne permet de classer, trier et filtrer de larges quantits d'informations. Chaque
logiciel de gestion (comptabilit, gestion commerciale, stock, ...) est d'ailleurs une base de donne. Vous
pouvez galement le faire avec un tableur de type Excel. C'est en partie vrai. Si vous tes un utilisateur
avanc du tableur, certaines fonctions peuvent sembler similaires. Nanmoins, les possibilits de
Microsoft Access sont largement suprieures dans ces domaines, surtout si vous utilisez de grandes
quantits de donnes.
Pour dbuter notre formation Access, commenons par un petit lexique spcifique aux bases de
donnes

2. Le classement - tri
Prenons par exemple un fichier d'adresse. Le tri va permettre de classer par ordre alphabtique
suivant le nom, prnom, ... Dans la majorit des bases de donnes, ces classement peuvent se faire suivant
diffrents niveaux. Par exemple
1.
2.
3.
4.

Nom
Prnom
code postal
...

Dans notre exemple, les personnes seront d'abord tries suivant le nom. Si deux personnes ont le mme
nom, le tri se fera alors suivant le prnom. Pour deux personnes homonymes, le classement se fera ensuite
suivant le code postal du lieu de rsidence, ...

3. Filtrage des enregistrements


La fonction de filtre des enregistrements permet de n'afficher que les enregistrements rpondant
des critres complexes. Dans le cas de notre fichier d'adresse, ceci permet par exemple Access de
n'afficher les hommes de plus de cinquante ans habitant Florenville. Ce type de filtre est trs efficace.
Pour faire ces filtres, il vous faut imprativement crer des champs adquats avec les bonnes donnes
suivant la personnes. C'est la principale difficult lorsque vous crez une base de donne Access:
choisir correctement les champs.

4. Vocabulaire: enregistrements et champs.


Les bases de donnes, notamment Access, sont caractrises par des enregistrements et des
champs. Dans le cas d'un carnet d'adresse, l'enregistrement reprsente les coordonnes de la personne.
Le champ, reprsente la case remplir, un renseignement repris dans une catgorie pour chaque
enregistrement. La cration d'une base de donne implique donc au pralable la cration d'une structure
en fonction des renseignements souhaits. Cette tape est de loin la plus importante. De par leur
conception, ajouter des champs alors que la base de donne et ses diffrents modules d'analyse sont crs
est fastidieux. Des exemples sont galement fournis directement avec la base de donnes.
1 / 79

Quels champs devons nous crer? Reprenons notre exemple d'un fichier d'adresse Access. Quelles
sont les catgories de renseignements que nous serions amens rechercher sachant que la fonction d'une
base de donne passe par le tri et le filtrage. Un autre critre va rentrer en ligne de compte, des
renseignements supplmentaires.

Nom: Ceci est d'abord un renseignement sur la personne mais va nous permettre de faire une
recherche sur une personne donne.
Prnom: Le critre est identique que pour le nom. Pourrions-nous rassembler le nom et le prnom?
Oui et non. Prenons le cas d'utilisation de cette base de donne pour un mailing. L'adresse de la
personne reprend effectivement le nom et le prnom. Par contre, la phase type en bas de la lettre
reprend "Je vous prie d'agrer, Monsieur Lejeune, mes salutations distingues." Remarquez tout
de suite que le prnom n'est plus utilis. Pour des lettres amicales, cette possibilit est galement
utilise mais en ne gardant que le prnom
L'adresse: reprend la rue et le numro de maison, bote postale. Dans l'adresse, le dbutant va
dcouper cette information en tranche. Est-ce ncessaire? Probablement non. Il est peu probable
que vous fassiez un tri ou un filtre sur la rue et moins encore sur le numro de maison. Ce champ
est indicatif.
Le code postal: ici aussi nous pourrions rassembler le code postal et la ville. Nanmoins, dissocier
les 2 va nous permettre diffrentes petites choses. La ville est spcifique et va nous permettre de
faire un tri. Par contre, du moins en Belgique et en France, le code postal va permettre de trier non
pas sur le domicile mais sur une zone d'habitation, typiquement sur la commune en Belgique.
La ville: tri sur le domicile.
Le numro de tlphone, fax, GSM ... A moins de faire une recherche type annuaire inverse, ces
informations ne sont qu'indicatives.
Les informations professionnelles: On retrouve le nom de la socit, la fonction de la personne et
coordonnes de l'entreprise. Les rgles sont identiques que celles de l'adresse prive.
D'autres renseignements seront rajouts suivant l'utilisation de cette base de donne Access titre
de renseignements comme la date de naissance (anniversaire), prnom de l'pouse - poux,
enfants, ...

Est-ce suffisant, non. Il nous manque quelques champs importants.

Le titre: Monsieur, Madame, Mademoiselle, ... Ce champ est important 2 titres. Premirement
parce que vous l'utilisez dans le courrier (dans l'adresse et la formule de politesse).
Deuximement, ce champ va nous permettre de dterminer le sexe de la personne. Un champ
supplmentaire pourrait galement tre utilis.
Des champs additionnels de tri. L'utilisation d'une base de donne Access permet d'afficher
suivant un filtrage. Pouvons nous utiliser certaines combinaisons de ce filtrage? Oui. Prenons
notre carnet d'adresse sous Access. On retrouvera dans ce carnet des amis, connaissances,
relations professionnelles, utilisateurs du cours, ... La solution habituelle est de crer un carnet
d'adresse informatique pour chaque catgorie de personnes. L'autre possibilit est de crer une
seule base de donnes et d'ajouter des cases cocher (oui ou non) reprenant ces diffrentes
catgories. Ceci nous permettra de cibler l'envoi de courrier suivant le type de relation, par
exemple tous les membres du club de sport

5. Base de donne Access?


Maintenant que les explications prliminaires du cours Access sont acquises, intressons nous la base de
donne de Microsoft. Les onglets d'Access se subdivisent en 7 parties. Passons en revue les principaux.

Dbutons par les tables: elles reprennent les informations brutes (non traites) les enregistrements
et les champs.
2 / 79

Les requtes permettent diverses mises en forme des tables: le tri, filtre, afficher ou nom des
donnes,
Les Formulaires permettent d'afficher les tables et les requtes d'une manire agrable.
Les tats permettent d'imprimer des donnes de tables et de requtes avec si ncessaire des
regroupements et des calculs. C'est bien l la grosse diffrence entre Excel et Access, les calculs
ne se font pas par de simples formules, mais bien par ces tats d'impression. L'avantage, c'est
qu'une fois que l'tat est fait, tout se fait automatiquement. Le dfaut, c'est de faire ces tats.
Nanmoins, pour de nombreux enregistrements (plus de 500), Excel est vite dpass, ce qui n'est
pas le cas d'Access.
Les macros permettent d'excuter des fonctions partir de requtes ou de formulaires. Nous ne
rentrerons pas dans la programmation d'ACCESS dans cette formation mais utiliserons ces
fonctions pour crer un formulaire d'entre.
Page: permet de crer des pages Internet pour accder la base de donnes.

3 / 79

2. Cours: table ACCESS

1. Introduction
Commenons notre cours Access par les tables. Une table reprend les informations brutes (non
traites) d'une base de donne Access. Une base de donne Access peut comporter plusieurs tables qui
peuvent tre lies entre elles (base de donne relationnelle) ou totalement indpendantes.
Aprs avoir dmarr Access, sous l'onglet TABLES, slectionnons la commande "Crer une table en
mode cration". La fentre suivante apparat:

La colonne champ reprend le nom du champ. Le type reprend des formats de donnes prtablis.

Comme l'exercice de ce cours Access doit nous permettre de crer une base de donne de gestion
de CD-DVD, bibliothque, ... commenons directement par crer la table pour cette exercice

2. Les formats de Champs sous Access


Mme si certains types de champs dpassent le cadre de ce cours Access, voyons les principaux.

Texte: permet de crer un champ avec du texte et des chiffres mlangs. Vous ne pouvez pas faire
de calculs dans ce type de champs. La taille est limite 255 caractres
Mmo est quivalent TEXTE mais peut reprendre plus d'informations. Des limitations
d'affichage, notamment dans les tats rendent ce type de champ peu utilis. La taille maximum est
de 65.535 caractres.
Numrique. Ce format de champ permet de rentrer des chiffres sous diffrents formats.
Octet: nombres entiers de 0 255
4 / 79

Entier (2 octets): nombres entiers entre - 32 768 et + 32 767


Entiers long (4 octets): nombres entiers entre -2 147 483 648 et + 2 147 483 647
Rel simple (4 octets): 7 dcimales, nombres entre - 3,402 823 E 38 et + 3,402 823 E38
Rel double (12 octets): 28 chiffres derrire la virgule (dcimales), nombres entre 1,797 693 134
862 31 E308 et 1,797 693 134 862 31 E308
Montaire (4 octets): 4 dcimales, nombres entre -922 337 203 685 477,5808 et 922 337 203 685
477,5807

Date et heure
Montaire est identique numrique mais rajoute le caractre montaire. Gnralement, on
utilise directement numrique
Numro Auto permet Access d'incrmenter le numro chaque nouvel enregistrement.
Oui/non est de type boolen (vrai ou faux)
Lien hypertexte
Objet OLE: tous objet provenant d'une application compatible OLE, images, ...
Assistant liste de choix. permet de crer suivant une liste tape ou reprise dans une autre table les
diffrentes possibilits acceptes. Cette notion sera vue dans un chapitre part.

Les autres proprits des champs seront vues ultrieurement dans Proprits avances des tables

3. Cration d'une table Access simple


Pour commencer l'exercice de ce tutorial, nous allons crer une simple table. Dans l'onglet
"TABLE", slectionnons "Crer une table en mode cration". En premier, crons un champ dont le
nom est classement. Ce champ va permettre de classer nos albums selon un numro par exemple. Nous le
laissons en mode texte.
Compltons par les champs suivants:

champ texte "Titre album"


champ date "date de l'album"
champ texte "titre 1" pour le premier titre de l'album
champ texte "interprte 1".
champ date "date album"

Nous pourrions crer titre 2, interprte 2, et ainsi de suite mais


nous verrons que de meilleures possibilits existent.
5 / 79

Quittons par la croix droite sur la fentre et Access demande si


nous voulons sauvegarder notre table. Acceptons l'enregistrement et
nommons cette table "Album".

Une nouvelle question apparat demandant une cl primaire. Cette cl n'est pas obligatoire mais
acclre le traitement des informations d'une base de donne sous Access. Malheureusement, cette cl
doit tre unique dans la table. Nous pourrions choisir classement, mais ceci n'est pas possible si nous
utilisons titre 2, A ce stade, slectionnons pas de cl primaire.
Cliquons de nouveau sur album pour l'ouvrir et nous pouvons maintenant rentrer des donnes dans les
diffrents champs, des enregistrements qui sont dans notre cas des chansons.
Examinons d'un peu plus prt notre travail. Serait-il possible de scinder notre table en deux. Une partie
serait rserv au contenu des albums, l'autre l'en-tte (titre de l'album, ). OUI! Cette partie sera vue
plus tard et s'appelle une base de donne relationnelle.
Ceci va modifier notre table de dpart puisque nous allons pouvoir utiliser le classement comme
cl primaire, il n'y aura plus de risques de doublons. Modifions notre table et supprimons les deux champs
"titre1" et "interprete1". Pour cela, slectionnons la table album et cliquons sur le bouton "Modifier".
Slectionnons la ligne et appuyons sur la touche "del".
Slectionnez le champ"Classement" et avec la touche droite de la souris, faisons apparatre le menu
contextuel. Cliquons sur "cl primaire", en le laissant en type de donnes texte. Le classement sera ds
lors unique. Si notre classement devait tre en chiffre et fait automatiquement, nous pouvions pour ce
champ utiliser le type en deuxime colonne "NumroAuto". Cette solution pose quelques problmes lors
de la suppression d'enregistrements.

Crons maintenant une deuxime table que nous appellerons "contenu" par la procdure ci-dessus.

Lorsque Access demande la cl primaire, cliquez sur OUI et un champ sera automatiquement rajout de
type numrotation automatique.
Nous voici donc avec 2 tables Access. Un chapitre suivant nous permettra de les relier entre-eux via un
champ de mme type (ici le champ classement) pour crer une base de donne relationnelle.

4. La cl primaire.
Nous venons de voire deux manire d'utiliser la cl primaire dans ce cours. Cette notion est
secondaire dans de nombreux cas mais peut-tre particulirement utile. Lorsque vous crez une nouvelle
table, l'enregistrement, Access demande automatiquement si vous voulez crer une cl primaire. A quoi
sert cette cl? Elle va permettre d'acclrer certains traitements de l'information
6 / 79

La premire possibilit est de laisser Access crer un champ spcifique qui va s'incrmenter
automatiquement suivant le numro.
La deuxime solution est d'utiliser un champ de la table Access comme cl primaire. Dans ce cas
le contenu de ce champ doit tre unique (deux enregistrements ne peuvent utiliser la mme valeur pour ce
champ). Cette solution est utilise dans ce cours pour notre table album. En plus, Access indexe
automatiquement par ordre croissant sur la cl primaire
Dans le premier cas, ce champ "cl primaire" n'est pas le numro de l'enregistrement mais bien un
nombre s'incrmentant chaque nouvel enregistrement. Par contre, si vous supprimez un enregistrement,
le champ n'est pas remis jour dans les enregistrements restants. Pour redmarre la cl primaire 1, il
faut donc supprimer le champ de la base de donne et en recrer un champ de nom identique.

5. Dplacements, nouveaux enregistrements


Cliquons 2 fois sur le nom de la table cr, Access affiche le contenu sous forme de tableau avec
les enregistrements en ligne et les champs en colonne. En bas de la fentre, on retrouve une petite barre
d'outils de navigation.

Cette barre d'outils permet de se dplacer et d'insrer de nouveaux enregistrements. Dans


l'exemple ci-dessus, la table comporte 92 enregistrements et nous sommes sur le numro 19. Attention,
toute modification dans un champ est immdiatement pris en compte dans la base de donne. Dans le cas
d'un tableur, la modification n'est enregistre sur le disque dur qu'avec la commande enregistrer du menu
fichier.

6. Le champ classement
Nous allons rentrer des donnes dans cette table mais avant, quelques prcisions sur le champ
classement. Cette notion est identique pour le champ code article d'une gestion commerciale. La majorit
codent sur des chiffres. Ce n'est que rarement la solution idale. La manire dont vous allez dcider de
coder les CD dans l'exemple de ce tutorial Access ou le code du produit dans une gestion commerciale va
intervenir dans votre manire de rechercher l'information.
Dans notre base de donne musique, nous pouvons utiliser un codage de type XX-00000. Le XX
reprsentant les 2 lettres du type de musique , suivi de chiffre pour le numro du CD dans cette catgorie.
XX peut-tre par exemple DI (disco), AM (ambiance), ... Ca facilite souvent le classement dans l'armoire.
De mme, il est plus facile pour une picerie de classer suivant le rayon du produit, suivi de la marque, ....
Essayez pour le plaisir de retrouver suivant un numro un article parmi 5 ou 6000 ....

7 / 79

3. Les requtes Access

1. Introduction
Dans le chapitre prcdant de ce tutorial, nous avons crer des
tables qui permettent de rentrer les donnes (les enregistrements) dans
des champs dlimits. Ces tables ne permettent pas de faire un tri ou
un filtrage sur les enregistrements de la base de donne Access. Cette
fonction est dvolue en grande partie aux requtes. Une requte est
lie une (ou plusieurs) tables, elle reprend ses donnes et les
organise. Rentrer un enregistrement dans la requte ou la table revient
donc strictement au mme.
Plusieurs types de requtes sont proposes par Access. Dans
cette partie, nous nous contenterons des requtes de tri et des requtes de filtres. Les autres types de
requtes seront vues dans une formation plus avance.
Ceci est une grosse diffrence avec Excel puisqu'un tableur permet directement de faire des tris et
des filtres comme vus dans le cours Excel: tri et filtre.

2. Cration d'une "requte tri" sous Access


Intressons nous d'abord la table "Contenu" cre dans le chapitre prcdant. Cliquons sur le
bouton requtes. et ensuite, crez une requte en mode cration. Access propose d'ajouter une table,
slectionnons "contenu" et une fois cette table ajoute, cliquons sur le bouton "Fermer".

Nous avons 2 possibilits. Soit nous dplaons le champ slectionn vers le bas, soit nous
dplaons l'toile vers le bas. Malheureusement, la deuxime solution, plus rapide, ne nous permet pas de
travailler sur les champs. Nous devons donc dplacer tous les champs dans la partie infrieure les uns
aprs les autres (pour slectionner tous les enregistrements, slectionnez les 2 extrmes avec la touche
shift enfonce). Nous pouvons ngliger le champ "N" qui n'est pour nous d'aucune utilit. Comme notre
but est d'effectuer des tris et des filtres sur notre table, examinons cette partie infrieure. En troisime
ligne, apparat "Tri". Ceci offre la possibilit en ordre croissant ou dcroissant. Faisons un tri en ordre
croissant sur le classement.
Quittons notre requte et enregistrons-l sous le nom "contenu par classement". Cette requte nous a
dj permis d'liminer des champs de l'affichage (n dans notre cas) et de faire un trie suivant un champ
(classement ici). Les requtes nous permettrons d'autres possibilits plus tard.
A retenir: une requte Access permet de trier sur 1 ou
plusieurs champs ou de n'utiliser qu'une partie des champs.

3. Tris multiples
Nous savons maintenant comment trier une base de donne suivant le contenu d'un champ. Mais
comment trier suivant plusieurs champs?
8 / 79

La solution est simple. Vous avez remarqu en insrant les champs dans la cration de la requte
que vous pouviez finalement les mettre o vous voulez. Le tri se fait suivant l'ordre des champs dans la
fentre de requte.

Dans l'exemple ci-dessus, le tri se fera donc d'abord par ordre croissant sur le champ
"Classement".

4. Un filtre suivant le contenu


La deuxime fonctionnalit d'une base donne Access (comme toutes les bases de donnes) est le
filtre des informations. Nous reverrons cette notion de manire plus approfondie plus tard mais voyons
dj quelques exemples.

Tapons C42 dans la partie critre sous le champ classement. La requte n'affichera que les
enregistrements (nos CD - DVD) dont le classement (notre numro) est C42

Tapons cette fois fa*, Access rajoutera automatiquement comme"fa*. La requte n'affichera plus que les
enregistrements commenants par FA. Access, au contraire de Word en publipostage, ne fait pas la
distinction entre les minuscules et les majuscules.

Tapons maintenant comme critre *A* (Access rajoute comme "*a*). Le rsultat de la requte
affichera tous les enregistrements contenant a dans le champ "classement".
Pour accepter un seul caractre, vous pouvez utiliser le ?. Dans ce cas, il faudra taper
effectivement le comme "" pour accepter cette solution.

9 / 79

Dans l'exemple ci-dessus, le rsultat renvoy par la requte sera les champs commenant par une
lettre ou un chiffre, suivi de la lettre a (ou A), suivi de 2 caractres indiffrents, suivi du chiffre 2, soit
XaXX2. Dans notre exemple, les champs de plus (ou moins) de 5 lettres ne seront pas affichs?
Vous pouvez galement utiliser la ligne OU pour utiliser plusieurs filtres

5. Champ vide.
Pour afficher uniquement les champs vide, il suffit de taper comme critre est null. Pour afficher
uniquement les enregistrements o le champ comporte quelque chose, le critre inscrire est N'est pas
null.

6. Les autres critres des requtes Access

>: suprieur
<: infrieur
<> diffrent de
>= suprieur ou gal
<= infrieur ou gal
= gal

D'autres solutions seront bientt vues mais a va dj nous permettre de complter notre base de
donne.

7. Questions, filtres personnaliss


Les solutions envisages plus haut sont fixes. Une fois la requte cre, vous devez changer la
requte pour modifier la recherche. La solution ici va permettre de poser une question sur la recherche
souhaite.

nouvelle
cration
requtes, le mode assistant est peu diffrent). Slectionnons la table contenu album.

Crons une
requte en mode
(pour les

Slectionnez le premier champ de la table access, descendez avec


l'ascenseur et cliquez sur le dernier champ en maintenant la touche
<shift> enfonce. Ceci va slectionner l'ensemble des champs.
Glissons l'ensemble vers la premire case "champ disponible. Ceci va
transfrer l'ensemble des champs vers la requte.
Supposons que nous dsirons retrouver tous les titres chants par un groupe ou chanteur. Dans la
solution envisage plus haut, nous devions crer une requte de type ="nom du chanteur".

10 / 79

Dans la case critre sous le champ interprte, tapons [Nom de l'interprte ou groupe]. Cette mthode cr
en fait un champs (non repris dans la table mais utilis par la base de donne Access). Enregistrons notre
requte sous le nom "Recherche d'interprte" et excutons-l

Automatiquement, Access va afficher une petite fentre demandant le nom de l'interprte, en fait, le
contenu entre crochet []. Ce [contenu-champ] ne peux tre identique un champ existant et ne peux
dpasser 64 caractres.
Cette solution de filtre est dj beaucoup plus souple, mais oblige taper le nom de l'interprte ou
du groupe musical correctement. Serait-il possible de pouvoir taper une partie du nom? Oui.
Tapons manuellement comme critre Comme "*"+[Nom de l'interprte ou du groupe]+"*".

Passons en mode feuille en cliquant sur


en haut gauche dans la barre d'outils. Cette solution
permet de vrifier la requte sans l'enregistrer.
La base de donne Access posera la mme question, mais la requte affichera tous les enregistrements
dont le champ interprte contient le mot tap. Ceci est trs utile pour retrouver un client dans une base de
donne de gestion de stock par exemple.

Enregistrons notre requte.

11 / 79

8. Multi-critres.
La base de donne Access permet galement des requtes multi-critres. Comme la majorit des
logiciels, Access accepte la fonction ET et la fonction OU.

"critre" 1 ET "critre 2" ncessite que les 2 critres soit remplis.


"critre" 1 OU "critre 2" ncessite qu'au moins 1 des critre soit rempli.
Nous allons utiliser cette possibilit pour vrifier les albums sortie entre 2 dates.
Crons une requte en mode cration en utilisant la table album.

Comme critre, sous le champ date, tapons > 01/01/2003 et la ligne suivante: <01/01/2005. Access
rajoute automatiquement les caractres #. En essayant cette requte, tous les enregistrements sont
affichs??? Forcment puisque la requte utilise la fonction OU (OR en anglais). Nous devons utiliser
une fonction ET. Supprimons les critres et tapons directement >01/01/2001 ET <01/01/2005. Access
rajoute automatiquement les caractres de contrles.

Et voil, la requte Access affiche effectivement les albums sortis entre le 1 janvier 2001 et le 1 janvier
2005.
Nous pouvons ici aussi poser la question. Le critre devient: >[date de dpart] Et <[date finale]. De
fait, la requte Access demande d'abord la date de dpart, ensuite la date finale recherche.

12 / 79

4. Formulaire Access

1. Introduction

Si vous avez rentr des enregistrements dans une table de la base de donne Access, vous avez
remarqu l'aspect tableur de type Excel des enregistrements.
Les formulaires Access vont nous permettre de faire un affichage personnalis de nos tables et
requtes: mise en forme des champs, mises en formes de quelques donnes, ... Le formulaire est le point
central d'Access pour entrer ou afficher vos enregistrements. Un formulaire peut tre cr partir d'une
table ou d'une requte. Dans un chapitre ultrieur, nous verrons les proprits avances des formulaires
Access.

2. Un formulaire de base.

Cliquons sur le bouton "Formulaires" et crons un formulaire l'aide de l'assistant, le mode cration
sera vu plus tard. Slectionnons Requte: contenu par classement cr au chapitre 3.
Faisons passer tous les champs dans la partie droite. Ceci nous permettra de les afficher. Slectionnons
par exemple comme type de formulaire "Justifi" "SUIVANT >". Slectionnons un style au hasard. Ceci
ne fait que de slectionner des couleurs de fond, ce que nous pourrons modifier plus tard.

Ouvrons le formulaire pour inspecter notre travail. Si vous n'avez pas encore rentr de CD - DVD
dans la base de donne (table ou requte), aucun enregistrement ne sera affich.

13 / 79

Pouvons nous rentrer des donnes ici dans contenu, Oui! Et mme plus puisque les donnes rentres
dans ce formulaire serons rentrs dans la base de donne contenu et dans la requte (qui dpend de la
table) contenu par classement.
Rentrons par exemple les donnes suivantes.

Le rsultat semble peu expressif. Ceci est li au faible nombre de champs utiliss, mais nous
amliorerons ceci plus tard. Pour rappel, les boutons en bas gauche servent se dplacer et rentrer des
donnes.

Nous allons modifier notre requte pour trier suivant le classement, mais pour qu'en cas de mme
classement (le mme CD), les pistes apparaissent en ordre croissant.

La Requte slectionne, cliquons sur le bouton modifier. et rajoutons tri croissant pour le numro de
piste. Comme cette colonne est aprs "Classement", ACCESS fera le tri aprs celui sur classement. Ceci
va nous permettre de rentrer nos CD dans n'importe quel ordre. Remarque, dans les bases de donnes
ACCESS, les tris ne se font qu'aprs la fermeture de la requte ou du formulaire associ, une lacune par
rapport d'autres bases de donnes nettement plus anciennes comme DBASE.

3. Formulaires Access personnaliss.


Dans le cas ci-dessus, nous avons utilis l'assistant pour crer un formulaire. Cette fois, utilisons le
mode cration.

14 / 79

La prsentation devient nettement moins sympathique mais cette mthode va nous permettre de
rellement cr un formulaire selon nos besoins. L'affichage est tout fait brut, seule la barre d'outils va
nous permettre de crer des textes, champs, boutons, ...

A notre stade, analyser toutes les fonctionnalits serais trop complexe mais voyons d'une manire
gnrale ces fonctions:

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


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
15 / 79

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
Autres contrles: une liste de contrle que nous n'aborderons pas.

Ces notions seront identiques pour les tats Access

3.1. Slections de la table ou requte.


Le premier problme de ce mode de cration, c'est "pas de table / requte" slectionne.

Dans le menu affichage, slectionnez proprit. La fentre suivant va donner les proprits complte de
ce formulaire. Dans l'onglet "Toutes", dans la ligne Source, vous pouvez slectionner la table ou la
requte dsire. Remarquez que vous ne pouvez slectionner qu'une seule table ou requte. Slectionnons
notre table Album par exemple. Une fentre va maintenant nous permettre de faire glisser les champs vers
le formulaire.

16 / 79

3.2 Insrer un titre


Pour insrer un titre notre formulaire, utilisons la bote outils et cliquons sur le bouton TEXTE. A
l'aide le la souris, crons une zone et tapons notre texte, par exemple album

La zone slectionne, utilisons la touche droite de la souris et slectionnons proprits. Ceci va


permettre de modifier la couleur du texte, fond, ... Vous pouvez galement utiliser la barre d'outils audessus.

3.3. Insrer une image ou un logo dans notre formulaire.


Dans la barre d'outils, slectionnez le bouton image:
Il ne reste plus qu' donner l'emplacement de l'image pour insrer l'objet. Vous devrez probablement
utiliser le bouton de slection pour dplacer les textes et champs. Vous pouvez complter ce formulaire
Access en insrant une ligne, un rectangle, ... Nous reviendrons ces formulaires personnaliss.

17 / 79

5. Base de donne relationnelle Access

1. Introduction
Lorsque nous avons cr nos tables, la possibilit de relier 2 tables entre-elles dj t
mentionn. Une liaison entre 2 tables Access s'appelle une relation. Par extension, une base de donne
Access qui utilise plusieurs tables relies entre elles s'appelle une base de donne relationnelle. Cette
possibilit permet de rduire les donnes rentrer. Par exemple, dans une gestion de stock, une table
reprendra le produit (code, description, nom du fournisseur, ...) tandis qu'une autre table reprendra les
coordonnes du fournisseur. Ceci permettra de ne rentrer les coordonnes du fournisseur qu'une seule fois
et de relier le code fournisseur dans la table produit. Un deuxime avantage vient de la taille des champs.
Moins de donnes sont rentres dans la base de donne, ce qui diminue sa taille.

Une reprsentation de nos 2 tables va nous permettre d'y voire plus claire. La table Album reprend
le classement de l'album. Comme ce champ est une cl primaire, le contenu sera unique. Le titre et la date
de l'album sont indicatifs. Par contre, la table contenu album reprend le contenu effectif de cet CD DVD. Le point de liaison entre ces 2 tables est le champ "classement". Un album reprenant comme
classement "FA-002" contiendra donc tous les titres repris dans la table "contenu album" avec un
classement identique. Il nous reste faire la liaison entre ces 2 tables, ce qu'on appelle une relation.
Plusieurs mthodes sont possibles. La premire mthode est de crer une requte, la deuxime mthode
est de crer un formulaire avec un sous-formulaire.

2. Requte relationnelle sous Access


La premire opration va tre de crer 2 requtes partir des tables album et contenu album. Ces
requtes vont simplement classer les enregistrements. La premire requte utilise la table album. Crons
cette requte album en faisant glisser tous les champs. Trions juste le champ classement en ordre
croissant. Appelons cette requte "requete album tri". De mme avec la table "Contenu album", trions
par ordre croissant sur le classement puis sur la plage. Appelons cette requte "requete contenu album
tri".

Nous allons maintenant crer une requte Access utilisant ces 2 requtes (utilisez le mode
Cration). Commenons par ajouter ces 2 requtes.

18 / 79

La relation entre les 2 requtes n'est pas cre. Pour le faire, cliquons sur classement dans la requte
album et en maintenant la souris enfonce, glissons vers classement de l'autre requte. Une ligne joint
maintenant les champs classements des 2 requtes. Faisons glisser dans la partie du dessous tous les
champs sauf classement de "Contenu album". En effet, ce champ classement sera identique

Sauvegardons notre requte relationnelle sous le nom RELATION. En ouvrant la requte, nous
retrouvons bien tous les enregistrements avec les contenus des champs des 2 requtes. Cette mthode
permet de ne plus taper par plage de CD le titre de l'album et la date. C'est un gain de temps mais
finalement n'apporte pas grand chose.
Cette requte relationnelle va nous permettre galement de crer un formulaire. Utilisons le mode
assistant en mode colonne par exemple.

Et voil, non seulement, les donnes apparaissent en ordre croissant suivant le classement, mais tous les
champs sont remplis. Chaque fois que dans la table contenu, le classement correspond, les 2 sont affichs.
Ceci nous vite de retaper par plage tous les renseignements sur l'album en lui-mme. Par contre, si le
classement n'existe pas dans une des 2 tables, aucune information n'est affiche.
Nous pourrions faire un formulaire d'aspect plus sympathique que les 2 ci-dessus, reprenons les 2 tables
par exemples.

3. Base de donne relationnelle Access par un formulaire


La mthode la plus simple et la plus complte sous Access pour crer une base de donne
relationnelle passe par les formulaires. Cette solution va nous afficher chaque fois une plage sur l'cran.
Pourrions-nous afficher les caractristiques du CD - DVD et les en mme temps tous les titres de l'album?
.... Devinez. Oui. Cette solution passe par un formulaire utilisant un sous-formulaire.
19 / 79

Commenons par crer ce sous formulaire comme un formulaire normal. A l'aide de l'assistant,
slectionnons la requte "Requte contenu album tri". Cette requte reprend les contenus des albums tris
par code du CD ou du DVD. Comme prsentation, choisissons "Feuille de donne" et sauvons ce simple
formulaire comme Contenu album.
En mode formulaire, crons un formulaire en mode assistant. Slectionnons uniquement la requte
"requte album tri". Comme prsentation, choissions "Justifi".

Modifions la structure du formulaire. A l'aide de la bote outils, slectionnons "sous-formulaireSous-Etats" et crons la zone avec la souris sous les donnes de notre formulaire.

A l'aide de l'assistant, nous allons Crer ce sous formulaire.

20 / 79

Comme formulaire, slectionnons le formulaire Contenu Album cr ci-dessus. Nous allons dfinir nous
mme le champ de lien (mme si Access le fait automatiquement). Ceci va mettre les 2 bases en liaison.
Laissons la dnomination de ce sous-formulaire comme Contenu album.

Nous pouvons si ncessaire augmenter la taille de ce sous-formulaire pour afficher plusieurs lignes
de contenu de chaque album

21 / 79

Et voil notre formulaire relationnel termin. La barre d'outils de dplacement en bas permet de se
dplacer entre les albums, celle au milieu, l'intrieur des titres de l'album.

Dans notre formulaire Access, on retrouve donc les enregistrements de la premire table Contenu
album au-dessus et par liaison relationnelle, la deuxime table qui reprend chaque fois le contenu de
chaque album.

22 / 79

6. Les tats d'Access

1. Introduction
Si dans un tableur comme excel, l'impression est directe (via la commande imprimer du menu
Fichier), ce n'est pas le cas des bases de donnes (SGBD). L'impression d'un rapport passe par la cration
pralable d'un tat. Ces tats permettent de faire (outre l'affichage des champs) des tris et des filtres sur
les enregistrements. La dernire possibilit des tats va permettre galement de crer des sous-totaux et
des totaux sur les rsultats imprims. Les tats reprennent donc les calculs repris par les fonctions Excel.

2. Cration d'un tat de base


Dans une base de donne Access, les impressions se font l'aide des tats.

Utilisons le mode "A l'aide des assistants". Slectionnons la requte relation que nous avions dj cre.
Celui-ci reprenait les albums et leur contenu. Slectionnons l'ensemble des champs.

Microsoft Access demande si nous souhaitons ajouter un niveau de regroupement. Ceci permet de
rassembler par exemple les titres repris sous un album par exemple.
Slectionnons donc classement. Cliquons sur suivant. Slectionnons
comme tri le numro de la plage. Ceci va organiser toutes les
impressions suivant le titre de l'album, avec pour chaque album une
organisation suivant le numro de la piste. Ensuivant, slectionnons une
organisation quelconque, par exemple chelonn. Slectionnons ensuite
un style suivant nos prfrences et donnons le titre relation notre tat.
Voici notre premier tat Access de cr.
Slectionnons notre tat et cliquons sur
modification.
La fentre reprend les diffrents composants de
notre tat en mode modification: des titres et
des champs. Commenons par analyser les
diffrentes zones de cet tat.

23 / 79

L'entte d'tat reprend les textes qui seront repris au dbut de notre impression. L'entte de page reprend
les textes (images, ) qui seront imprims sur toutes les pages, sans exceptions. En-tte de groupe
classement reprend ce qui sera imprim pour chaque classement (ici le code de chaque album). Dans
notre cas, nous avons insr le champ, ce qui sera imprim sera donc le contenu du champ. En dtail, sont
repris le contenu de chaque album. En pied de page, ce qui sera imprim sous chaque page.

Nous allons modifier certaines parties. Commenons par la zone dtail. En cliquant sur numro de piste,
nous pouvons dplacer ce champ. Pour cela, pointons notre souris en haut
gauche du champ et dplaons le vers la gauche. Nous pouvons faire de mme
pour les autres champs. Nous pouvons faire de mme avec les titres dans la partie
entte de page. Nous pourrions faire mieux. Supposons que nous souhaitions faire
des jaquettes pour mettre au dos de nos pochettes. L'idal serait de ne pas avoir
d'enttes de page, reprendre un album par pages. Le pied de page ne nous
intressant pas trop. Fermons notre tat.
Slectionnons l'tat relation et avec le menu contextuel, slectionnons COPIER. Collons maintenant notre
tat. Donnons comme nom album et slectionnons-le en modification. Slectionnons le titre et appuyons
sur la touche <del> pour le supprimer. Si nous essayons de rduire la zone, Access reprend quand mme
une petite zone. Pour rduire toute cette zone, il nous faut d'abord effacer la ligne de sparation qui a t
cre automatiquement. L'entte de page totalement rduit, plus rien ne sera imprim.
Nous souhaiterions reprendre chaque album sur une page. Dans les outils, reprenons la commande Saut
de page et insrons l dans la partie en-tte de groupe. Ceci insrera un saut de page entre chaque album
(un album par page).
Ceci est un exemple de base de donne. Nous n'avons ici utiliser que les
fonctions de liaisons entre bases de donnes et de tris. Ce serait sous-utiliser les
bases de donnes et Access en particulier. Notre but n'est pas de rentrer dans la
programmation, mais d'organiser notre travail.

3. Etats spcifiques.
Toutes les impressions passent par ces tats. Si nous voulons crer un tat sur un tri particulier,
nous pouvons, soit utiliser les fonctions de regroupement dans la cration de l'tat, soit crer une requte
de dpart pour crer ce regroupement.
24 / 79

3.1. Utilisation des regroupements.


Prenons un exemple simple de cration d'tat en utilisant le regroupement, la liste des albums de
notre discothque. Crons un formulaire en mode "assistant cration" et slectionnons simplement la table
album (qui contient uniquement les donnes spcifiques au CD musical). Slectionnons le champ
Classement comme regroupement. Comme tri, nous pouvons par exemple choisir la date. Mme si cet
exemple est simpliste, c'est la premire mthode pour crer rapidement un petit tat.

3.2. Cration d'un tat via une requte.


Outre les avantages de tris ci-dessus, cette deuxime mthode a quelques avantages, notamment
de permettre de n'afficher que les enregistrements avec une condition sur un champ. Nous avons dj
utilis cette mthode mais nous allons l'amliorer pour ne plus reprendre une condition fixe, mais une
question demande avant d'afficher l'tat.
Crons une requte l'aide de l'assistant sur la table album. Slectionnons Tri croissant pour le champ
classement. Comme critre, nous allons choisir [Quel-classement?"]. Ce champ n'existe pas mais
justement, Access va demander la valeur de ce classement et finalement n'afficher que les enregistrements
correspondant.

Seul petit dfaut ce systme, le contenu de la question doit tre exactement celui demand. Pour les
chiffres et les dates, vous pouvez mme crer une condition infrieure et une condition suprieure
(rsultat compris entre des valeurs). Ceci est galement valable pour les formulaires, ...

Conditions Access
> suprieur
25 / 79

=> suprieur ou gal


< infrieur
=< Infrieur ou gale
<> diffrents.
= gal

4. Personnalisation d'tats Access


Pour personnaliser nos tats, nous pouvons galement insrer quelques champs particuliers,
notamment l'heure d'impression. Par exemple, en insrant le code "Zone de texte" =Maintenant() dans le
pied de page, Access insre la date d'impression au format dsir (par les proprits de cette zone de
texte).

26 / 79

7. Macro Access

1. Introduction aux macros.


Continuons par une cration de base de donne plus professionnelle, les MACROS. Une macro
permet de crer des listes de commandes. Sans rentrer dans la programmation qui dpasserait le cadre de
cette initiation, ceci va nous permettre de crer un menu de dmarrage personnalis. La deuxime partie
de la formation (Access avanc) reprend le menu Macro et procdure vnementielles.
Dans le menu macro, slectionnons Nouveau. Dans la partie gauche, slectionnons "Ouvrir
formulaire". Dans les proprits en dessous, slectionnons le formulaire que nous souhaitons ouvrir.
Enregistrons notre macro comme Ouvrir le formulaire. Et voil, nous venons simplement de crer une
petite macro qui ouvrira le formulaire spcifi. Cette macro s'insrera dans un formulaire. C'est ce que
nous allons faire.
Vous pouvez galement crer plusieurs oprations la suite de l'autre l'aide de ces macros.

2. Un menu de dpart.
Commenons par crer un nouveau formulaire en mode cration. Dans ce mode, aucune table ou
requte n'est demande. C'est justement cela qui nous intresse.
Dans la barre d'outils, slectionnons "Boutons de commande" et dessinons notre bouton sur la
zone de formulaire.

Directement, un assistant va nous permettre de slectionner une fonction.


A. Dplacements entre enregistrements va nous permettre tous nos dplacement mais ces fonctions
sont dj reprises dans notre barre de dplacement en bas.
B. Oprations sur les enregistrements permet d'ajouter, supprimer, ... les enregistrements.
C. Oprations sur les formulaires, tats, ... va permettre d'ouvrir, ... les formulaires et les tats.
27 / 79

D. Applications, permet d'excuter d'autres programmes (Word, excel, ...)


E. Divers reprend justement les macros
Slectionnez "Macros", ensuite la macro cre ci-dessus. En utilisant les diffrentes fonctions
vous pouvez par exemple faire un menu d'entre permettant d'ouvrir diffrents formulaires, tats, ... Dans
un chapitre ultrieur, nous verrons mme comment obliger l'utilisateur n'utiliser que les formulaires
ainsi crs mais le but actuel est uniquement de nous faciliter la vie.
Depuis la version Access XP, une nouvelle commande est insre dans le menu outils qui permet
une fonction similaire: le gestionnaire de Menu General.

3. Afficher le formulaire au dmarrage d'Access.


Dans le menu Outils, slectionnons la commande Dmarrage

Il suffit de mettre le nom de notre formulaire d'entre dans la case Afficher Formulaire / page
pour que notre formulaire soit automatiquement affich au dmarrage de l'application Access.
Cette commande permet galement de rduire les possibilits des utilisateurs au dmarrage de
l'application Access.

28 / 79

Afficher la fentre de base de


donne Access, affiche ou non
la fentre reprenant les tables,
requtes, formulaire

Affiche ou non la barre d'tat en bas de votre fentre


Afficher la barre d'tat
Autoriser les menus
complets permet de limiter les
commandes du menus aux
commandes utilisateurs. Les
menus
Afficher les barres d'outils
intgres, affiche ou non les
barres d'outils standard de
Access
F11

Place la fentre Base de donnes au


premier plan.

CTRL+G

Appelle la fentre Excution.

CTRL+F11

Bascule entre la barre de menus


personnalise et la barre de menus
intgre.

CTRL+PAUSE

Dans un projet Microsoft Access, arrte


la rcupration des enregistrements du
serveur par Access.

ALT+F11

Dmarre l'diteur Visual Basic

Utiliser les touches spciales


d'accs

Ces proprits de dmarrage permettent donc de limiter les possibilits d'utilisation spciales votre
la base de donne. Ce n'est nanmoins pas un niveau de scurit d'accs que nous verrons dans un
chapitre ultrieur avec accs par mot de passe. Pour dmarrer normalement, ouvrez la base de donne
Access en maintenant la touche <shift> enfonce.
Ce chapitre termine la premire partie de la formation Access. Nous reviendrons l'utilisation et la
cration d'une macro en tudiant le menu Macro.

29 / 79

8. Table Access avance: proprit des champs

1. Personnalisation d'une table Access.


Dans le chapitre sur la cration d'une table Access de cette formation, nous nous contentions de
choisir le type de donnes.
Cette partie va nous permettre:

Afficher les donnes suivant une notation prcise


Imposer la manire de rentrer les donnes dans les requtes.
Modifier automatiquement les donnes rentres
et bien d'autres

2. Proprits des champs Access


Chaque champ d'une table Access reprend des caractristiques spcifiques supplmentaires:
1. Taille du champ (champs de types texte et numriques l'aide de caractres spciaux)
2. Format: Ce format agit sur la manire d'afficher les informations (pas de les rentrer) et ne modifie
pas le contenu)
3. Masque de saisie: dtermine la manire dont les donnes doivent tre saisies
4. Dcimales: (types numriques et montaires uniquement), le nombre de chiffres derrire la
virgule.
5. Lgende: un nom qui remplacera le nom du champ dans les feuilles de donnes.
6. Valeur par dfaut: la valeur propose automatiquement
7. Valide si: rgle de validation des donnes rentres.
8. Message si erreur: Texte affich si les donnes rentres ne sont pas conforme "Valide si"
9. Null interdit: Si le choix est oui, une donne doit effectivement tre rentre
10. Chane vide autorise: (champs de type texte, memo et liens hypertexte) autorise rentre le
caractre d'espace comme valeur. Cette caractristique est souvent utilise pour permettre de ne
rien rentrer comme donne (espace quand mme) si la caractristique "Null interdit" est active.
11. Nouvelles valeurs (uniquement les champs de type NumroAuto): incrment (+1) ou alatoire.
Dans les 2 cas, les doublons sont interdits.
12. Compression unicode: (champs texte et Memo), dtermine si le contenu doit tre enregistr en
format compress ou non.
Toutes ne sont pas vues ici, seulement les principales.

3. Le format d'un champ.


Reprenons
"table

notre table album dans le chapitre


Access".

30 / 79

Champ Classement (cl primaire)


champ texte "Titre album"
champ date "date de l'album"
champ texte "titre 1" pour le premier titre de l'album
champ texte "interprte 1".

Le premier problme vient du classement, le format n'est pas impos. Nous allons faire quelques
amnagements. Dans la partie proprit, Commenons par dlimiter la taille du champ. Par exemple, dans
notre cas, nous allons utiliser 5 positions. La taille du champ va donc tre de maximum 5 caractres. Si
cette rgle transgresse le format de donnes existantes, vous pouvez augmenter la taille.
Passons maintenant au format. Ceci va modifier la manire dont les donnes sont affiches
(pas rentres). La manire de rentrer les donnes ci-dessus va modifier les caractres rentrs: ">" va
convertir les donnes en majuscules, - va afficher le caractre "-" et @ va obliger de rentrer un caractre
( chaque fois).
Type de donnes
Numrique /
montaire

Symboles

Explication
Sans format de champ, affichage des donnes comme elles
sont saisies

Affiche un chiffre. En l'absence de chiffre, un 0 est affich.

Affiche un chiffre. S'il n'y a pas de chiffre, rien n'est


affich.
affiche le caractre F (pour francs)
dtermine la position de la virgule dans l'affichage
Sparateur des milliers
Multiplie la valeur par 100 et rajoute le symbol %
Notation scientifique avec le signe + pour les exposants
positifs et signe - pour les exposants ngatifs
Notation scientifique avec signe - pour les exposants
ngatifs, aucun signe pour les exposants positifs.
spare le jour, le mois, l'anne
Dtermine l'affichage du jour

F
, (virgule)
<espace> (<Space>)
%
E+ ou e+
E- ou eDate / heure

j=5
jj = 05
jjj = mar
jjjj = mardi

dtermine l'affichage du mois

m=1
mm = 01
mmm = janv
mmmm = janvier

Dtermine l'affichage de l'anne


a

aa = 99
31 / 79

, (vigule)

aaaa = 1999

Spare les heures, les minutes et les secondes


dtermine l'affichage des heures

h=4
hh = 04

Dtermine l'affichage des minutes


n

n=7
nn = 07

Dtermine l'affichage des secondes


s

Texte / Memo

Gnral

AM/PM
@
&
>
<
*(caractre)

s=3
ss = 03

Dtermine l'affichage par 12 heures et rajoute la mention


caractre de texte requis
Caractre de texte non requis
Convertit les textes en majuscule
Convertit les textes en minuscule
utilise le caractre spcifi aprs * pour le remplissage

Quelques exemples:
>@@-@@@ oblige rentrer 5 caractres qui seront affichs en majuscules avec un tiret de
sparation. fa001 sera donc affich FA-001
# ###,00" ": un chiffre sera affich avec 2 dcimales, sparateur des milliers, suivi de . 1526,3
deviendra 1 526,30

4. Masque de saisie
Cette fonction Access est a utiliser avec prcaution. Le masque de saisie va obliger rentrer des
donnes suivant un format prdfini. Si vous crer un masque de saisie aprs avoir rentrer des donnes,
les valeurs seront vrifies et ventuellement rejetes.
exemple
aucun masque de saisie, les donnes sont affiches telles que
saisies
0

chiffre, signe + ou -, saisie obligatoire

Chiffre ou espace, la saisie est facultative

#
L

chiffre ou espace, la saisie est facultative


Lettre, saisie obligatoire

masque 0000, le chiffre 123 est


refus, le chiffre +123 est accept
masque 9999, le chiffre 1 est
accept

32 / 79

?
A
&
C

Lettre, saisie facultative


lettre ou chiffre, saisie obligatoire
n'importe quel caractre (lettre, chiffre, ...), saisie obligatoire
n'importe quel caractre (lettre, chiffre, ...), saisie facultative

>

Tous les caractres droite du symbole sont convertis en


majuscule

>LLL: 3 lettres obligatoires,


automatiquement converties en
majuscule

Tous les caractres droite du symbole sont convertis en


minuscule
Masque rempli de droite vers gauche
le caractre est ajout sous sa forme asci

<
!
\

/,.;:() Caractres spciaux utiliss tels quels dans le masque de saisie

masque LL-999: 2 lettres


obligatoire, - ajout
automatiquement, 3 chiffres
facultatifs

Exemple:

le masque LL-000 oblige rentrer 2 lettres suivis de 3 chiffres.


le masque CC/CCC permet de rentrer 5 caractres maximum. Les 2 premiers sont
suivis du symbole /

5. Valide Si.
Sans rentrer dans trop de dtails, cette proprit permet de crer une rgle pour les messages. Par
exemple:
> 2000: chiffre obligatoirement suprieur 2000
> 01/01/2005: champ date, la date doit tre suprieure au premier janvier 2005
Pour combiner 2 conditions de validit, vous pouvez utiliser ET et OU.

ET ncessite que les 2 conditions sont vrifies


OU ncessite qu'au moins un condition soit vrifie.

Exemple: un champ date >=01/01/2000 ET <01/01/2005 n'acceptera que les dates comprises entre
le 01 janvier 2000 et le 31 dcembre 2004 (=< 01/01/2005)

6. Message si erreur
Ceci permet d'afficher un message dans le cas d'une donne non valide (dans le cas de l'utilisation
de Valide si). Par exemple, si la rgle d'une date est >01/01/1900 et le message: erreur d'encodage, la date
doit tre suprieure 1900. En cas de date infrieure, la fentre suivante apparat:

33 / 79

7. Null interdit
Cette fonction fort utile permet d'obliger l'utilisateur rentre une valeur (cas null interdit: Oui).
Elle travaille souvent en coordination avec la fonction suivante: Chane vide autorise qui permet de
rentrer un espace au lieu d'une valeur.

8. Chane vide autorise.


Cette commande permet d'autoriser rentrer l'utilisateur de la table access rentre un espace
comme valeur dans un champ. Cette possibilit est souvent utilise avec la commande Null interdit. En
acceptant les 2 proprits, vous obligez l'utilisateur rentrer une valeur, mais autorisez de rentrer un
espace dans des cas exceptionnels.

9. Index.
Cette commande permet directement de trier un champ en ordre croissant. L'option avec ou sans
doublon est une contrainte supplmentaire. Si vous choisissez sans doublons, la table refusera de rentrer
la mme valeur dans le champ pour 2 enregistrements diffrents de la table access. Mieux vaut
gnralement utiliser une requte pour cette fonction

10. Compression unicode.


Oui par dfaut. Access utilise le codage unicode qui enregistre les lettres sur 2 octets (au lien
d'un). Ce systme permet d'afficher les caractres dans n'importe quelle langue. Malheureusement, ceci
double la taille des caractres enregistrs. La compression va compenser en partie ce doublement
d'espace. Cette caractristique n'est affiche que pour les champs de type texte, memo et liens
hypertextes.

11. Exemple de contraintes d'un champ


Comme les possibilits sont multiples, nous allons essay quelques exemples de ces
caractristiques des champs Access.

11.1. Champ texte


A. Imposer de rentrer une valeur chaque fois:
Null interdit: Oui - Chane vide autorise: Non.

34 / 79

B. Imposer de rentrer 2 lettres, suivi de 3 chiffres mais afficher le sparateur - et lettres transform
en majuscule. Exemple: MA516 rentrer.
Taille du champ: 5 - Masque de saisie: >LL\-000

11.2. Champ Access numrique


A. Champ numrique compris en 10 et 100
Type numrique, type entier long - Valide si: >10 ET <100

11.3. Champ Access de type Date


A. Date obligatoire comprise suprieure au 01/01/2005
Valide si: >01/01/2005 - Null interdit: Oui - Chane vide autorise: Non
B. Anne
Un cas particulier, vous ne souhaitez que l'anne. Plusieurs solutions sont possibles.

Champ numrique avec valide si suprieur 2000 par exemple pour anne comprises entre 2001
et ..., dcimales: 0 + masque de saisie: 0000
Champ texte avec les mmes solutions, + longueur du champ 4.

La premire solution permettra de faire des calculs (exemple, + 3 ans)

12. Quelques remarques


Les contraintes et formats d'affichage des champs d'une base de donne Access peuvent tre
implants soit dans la table, soit dans le formulaire (ventuellement dans les tats). Ceci est laiss au libre
choix suivant votre application. Nanmoins, si vous imposez les contraintes dans la table, elles sont
valables galement pour les requtes, formulaires, tats, ... Dans le cas o ces contraintes sont rentres
directement dans le formulaire, elles ne sont valables que pour le formulaire. Rentrer des donnes
directement dans la table ou dans une requte n'imposera pas le masque de saisie, d'o un risque
d'incohrence de donnes informatiques.
D'un autre cot, imposer une contrainte directement dans la table va entraner long terme des
problmes de conception. Mme si une base de donne est gnralement dveloppe au dpart sans
modifications futures, par exprience, on est amener ajouter des champs (ou augmenter la taille),
souvent plusieurs annes plus tard. Insrer les contraintes directement dans la table risque de vous poser
quelques problmes lors de ces modifications de l'application informatique, notamment parce que lors de
chaque changement de proprits de champs, Access va vrifier si les donnes sont cohrentes. Vous
risquez donc de perdre des donnes ou de devoir revrifier manuellement tous les enregistrements que la
table accepte les modifications, ce qui n'est pas le cas pour les formulaires.

35 / 79

9. Exemple de cration de base de donne ACCESS: la gestion


financire d'un club
Dans ce tutorial Access, nous avons vus les diffrentes parties de cration d'une base de donnes.
Voyons un cas plus explicite comme exemple, la gestion financires d'une petite association. Cette
application a t dveloppe pour le comit des ftes de Lambermont mais vous pouvez l'adapter
n'importe quel club sportif ou autre. Elle remplace les applications standards sous Excel
Si vous dbutez sous Access (et dans les bases de donnes en gnral), vous pouvez au pralable
lire notre tutorial Access en ligne reprenant les diffrentes parties de la conception d'une base de donne.
Un autre exercice Access est repris en rcapitulatif des formations Access de niveau 1.

1. Introduction
La gestion informatique d'un club local se fait gnralement avec Excel. Cette solution montre vite
ses limites lorsqu'il faut dissocier les diffrente sources de rentres et de sortie, notamment si vous voulez
rellement suivre les paramtres par activit. Le logiciel Ciel association peut dans certains cas vous
convenir (conforme notamment la lgislation belge sur les ASBL) Vous pouvez galement utiliser des
logiciels de comptabilit de type CIEL Compta, mais cette mthode demande des connaissances en
comptabilit des entreprises.
Nous allons dans ce tutorial utiliser Access comme exercice.

2. Cration de la table
Commenons par crer une nouvelle base de donne appele club. Crons une table appele facturier
reprenant les champs suivants:

Date, date format date rduit (date de la facture)


Anne, texte, 10 (anne de l'activit)
numero, entier simple (numro dans le facturier d'entre ou de sortie)
type, texte,1 liste de choix, R (pour rentre) ou S (Sortie)
description, texte 50 (une petite description de la facture)
Activit, texte, 50 (l'activit proprement dite, par exemple la fte du village)
Sousactivit, texte, 50 (une sous activit, par exemple la tombola de la fte)
montant, rel (le montant de la rentre ou de la sortie)
pay, oui/non (suivi des payements)

Cette base de donne va reprendre les entres et sorties.


Premire modification, pour la date, rentrons en "valeur par dfaut" la fonction Maintenant(). Ceci
affichera automatiquement la date du jour, mais pourra tre modifie.

36 / 79

Deuxime modification, pour le champ type, crons une liste de choix.

Slectionnons "Je taperais les valeurs souhaites" (la deuxime possibilit sera vue ci-dessous).

Slectionnons une seule colonne.

Le deuxime onglet est automatiquement modifi. Dans "Contenu", tapons simplement R;S. Le ;
sert sparer les diffrents choix possibles. Il nous restera mettre sous l'onglet Gnral, R comme
valeur par dfaut.
Enregistrons notre table, ne crons pas de cl primaire.
Une petite remarque, de par sa conception, cette base de donne est utilisable les annes la suite
de l'autre. Il n'est pas ncessaire de recrer une base de donne chaque anne. Ceci permettra de faire des
comparaisons sur une activit d'une anne l'autre.

3. Les requtes, formulaire et tat, utilisation de la base de


donnes.
37 / 79

Pour la suite de cet exercice, crons une requte base sur cette table triant les diffrentes lignes en ordre
croissant sur la date appele "date" l'aide de l'assistant.

Crons maintenant un formulaire reprenant cette requte appele "facture". Notre formulaire se prsentera
par exemple comme ci-dessous.

Modifions notre formulaire pour nous faciliter encore un peu plus la vie. La date se met automatiquement
- cause de la table, valeur par dfaut maintenant(). Ne jouons pas sur le numro.
Le type peut-tre R pour rentre ou S pour sortie. Nous avons bloqu ces 2 possibilits sur la
table mais nous pouvons galement bloquer sur ces 2 valeurs l'aide du formulaire. Dans le
menu Affichage, slectionnons proprits. En slectionnant le champ type, slectionnons dans la
fentre proprit et dans la partie "Valide", tapons ="R" ou "S". Access n'acceptera dans ce
champ que r ou s (majuscule ou minuscule). Tapons galement en valeur par dfaut R
Nous pourrions faire de mme avec le champ pay pour cocher la case par dfaut.
Revenons nos activits. Notre but est que pour chaque entre / sortie, la ligne rentre dsigne une
activit: la fte, le barbecue, le souper annuel, Pourquoi pas.
Plusieurs possibilits existent. Nous n'en verrons qu'une. Crons une table dsigne par activit
reprenant uniquement le champ activit. Dans cette table tapons les activits suivantes:

Fte
barbecue
vtt

Reprenons notre table CLUB en modification. Modifions le champ activit. Notre but est de
choisir les donnes dans une zone modifiables et de les reprendre directement dans le champ Activit .
Les diffrentes possibilits sont inscrites dans la table activit. Cette solution sera plus facile s'il faut
rajouter des activits dans la table.

Slectionnons "Je veux que la liste modifiable et slectionnons la table "Activit".


Slectionnons le champ activit et le tour est presque jou.

38 / 79

Slectionnons uniquement le champ activit.

Nous allons stocker la valeur dans le champ "activit".


Comme nom de champ choisissons activs.
Il nous faut encore organiser le droulement des oprations par "Ordre de tabulations" dans le menu
Affichage. Passons en mode formulaire et rentrons quelques donnes. Enregistrons notre formulaire et
vrifions dans la table si les donnes sont correctement rentres. Et non, la table "Facturier" reprend le
numro de l'activit.
Revenons notre formulaire en mode cration. Slectionnons les proprits de notre zone modifiables et
dans la case nbre de colonnes, slectionnons 2 au lieu de 1. C marche.
Un dernier point, nous devons encore rentrer l'anne manuellement. Il faudrait nanmoins la modifier
chaque anne. Utilisons une autre mthode. Dans la table, slectionnons anne et tapons la fonction
suivante dans la valeur par dfaut: anne(maintenant()), en respectant les parenthses. Ceci demande de
choisir l'anne de la date du jour par dfaut (l'anne est donc modifiable), et ceci sera rpercut dans le
formulaire.

Maintenant que nous pouvons rentrer des donnes, sans trop de problmes, allons voire dans les tats nos
diffrentes possibilits.
Un premier tat serait une feuille reprenant les factures payes par la caisse centrale ou non (en utilisant la
case paye. Dans Access, nous devons passer par une requte. Crons l. Slectionnons tous les champs
de la table facturier en slectionnant d'abord anne, puis date, puis tous les autres. Pour les champs date et
anne, slectionnons un ordre croissant. Comme anne est en premier dans l'anne, il sera repris dans le
tri en premier. Sous la case "Pay", tapons dans la case critre le chiffre 0. Automatiquement, la requte
n'affiche plus que ce qui n'est pas pay. Sauvons cette requte sous le nom "A payer". Passons maintenant
notre tats. Ce ci va nous permettre d'imprimer les factures en entres et en sorties non payes.
Crons un tat l'aide de l'assistant. Slectionnons la requte "A payer" comme source et slectionnons
tous les champs. Dans la fentre suivante, slectionnons un ordre de regroupement suivant l'activit, puis
suivant le type. Nous n'avons pas besoin de tri, ils sont dj fait dans la requte de dpart "A payer".
39 / 79

Cliquons sur le bouton "Options de synthse". Ceci affiche la fentre suivante. Cliquons sur la ligne
"montant" dans la case Somme.

Slectionnons le mode de prsentation qui nous convient. L'aperu de l'tat affiche un tas de texte inutile.
Modifions notre tat et supprimons le texte "= synthse " Diminuons galement l'espace rserv. Ceci
n'est dj pas si mal, mais la somme globale en dessous reprend la somme des entres et des sorties, ce
que nous souhaiterions modifier. La solution est de rentrer systmatiquement les sorties avec un montant
ngatif. Ceci permet de vrifier les sommes que l'on doit recevoir diminuer des sommes que l'on doit
payer.
A ce stade, les activits sont reprises "annes mlanges". Les comptes du
VTT 2000 sont repris avec les comptes du VTT 2001. Pas trs intressant.
La solution est de crer un nouvel ordre de regroupement sur l'anne.
Dans le menu Affichage, slectionnons ordre de regroupement, dans la
troisime ligne, dans la colonne champ/expression, slectionnons anne.
Slectionnons la ligne et montons avec le curseur jusqu'au dessus de
"Activit. Dans les case de proprits, slectionnons entte de groupe et
pieds de groupe sur Oui. En affichant la liste des champs, glissons le
champ anne dans la zone "Entte de groupe anne". Faisons de mme dans le pied du groupe anne, en
copiant le champ "Somme ) dans la zone au-dessus et en revenant dans la partie pied, utilisons la
fonction copier. Ceci nous donnera une somme par anne.
Nous aurions pu utiliser le systme ci-dessous pour regrouper par anne. Je vous laisse le loisir de le faire
votre grs.

Il est possible dans une requte de filtrer manuellement les champs. Crons une nouvelle requte l'aide
de l'assistant, en utilisant la table facturier et en reprenant tous les champs les uns aprs les autres. Dans la
zone critre sous la colonne anne, tapons "[Anne]". Dans la mme ligne mais sous la colonne
"Activit", tapons [activit]. Les pseudo champs crs ainsi nous poserons la question. Lorsque nous
excutons la requte, Access demande d'abord Anne?, puis Activit? Et affiche uniquement les donnes
qui correspondent ces 2 critres. Le pseudo champ doit imprativement tre en 1 seul mot, mais vous
pouvez utiliser des "_" entre les mots. [Anne_activit] fonctionne. Par contre [anne_de_l'activit] ne
fonctionne pas cause du caractre accentu ('). Sauvegardons cette requte sous le nom de rsultat par
activit. Le seul problme vient du fait que cette requte n'affiche que les lignes, pas de totaux. Il nous
faut effectivement crer un tat. Crons cet tat l'aide de cette requte en effectuant un regroupement
suivant le type (R ou S) et en utilisant les options de synthses. Ceci nous donne un tat reprenant les
entres et les sorties de chaque activit. Vous pouvez mme insrer dans votre tat les pseudo champs
(idem ceux rentrs dans la requte).

40 / 79

Ce systme est dj pas mal mais nous souhaiterions le perfectionner. Ceux qui sont
(ou ont t) trsorier d'un club savent que gnralement on aime bien savoir ce qui
se passe au sein mme d'une activit: quel montant le bar a rapport, Nous
arrivons au principal problme des bases de donnes: la modification. En effet,
ajouter un champ dans une table n'est pas trs compliqu, mais nous allons devoir
modifier toutes les requtes, formulaires et champs. Pour ma part, dans ce cas, je
recre souvent directement toutes les autres parties l'aide des assistants.
Quelques imperfections existent encore. Reprenons notre formulaire en mode
Modification. Nous allons crer une zone de liste modifiable. Cliquons sur le bouton
associ dans la bote d'outils et crons notre zone sur le formulaire. Access propose
un choix suivant 3 options. Slectionnons la deuxime, je taperai les valeurs souhaites. Nombre de
colonne: 1, stockons la valeur dans ce champ que nous slectionnons comme "TYPE"

Donnons le nom type comme tiquette. Chaque fois que nous rentrons une valeur dans la zone modifiable
type, la valeur s'insre dans le champ type. Nous souhaiterions n'avoir plus que 2 choix (R pour rentres
et S pour sortie). En modification, slectionnons notre zone modifiable. Avec la touche droite de la souris,
slectionnons la commande "proprit". Dans la zone Contenu, tapons "R";"S". En reprenant notre
formulaire en mode formulaire, nous n'avons plus que le choix entre R ou S et le champ type est toujours
modifi. Nous pouvons ds lors supprimer le champ type du formulaire. Il nous faudra forcment
organiser notre cran et ventuellement l'ordre de tabulation dans le menu Affichage.
Notre formulaire semble maintenant complet. Attaquons maintenant les Etats qui permettent d'imprimer
les rapports. Le premier va nous permettre de faire les comptes annuels. Nous pourrions directement crer
un tat mais nous devons d'abord crer les filtres et dans Access, la seule manire est de travailler sur les
requtes. Crons donc une requte en mode cration. Choisissons la table facture avec tous les champs et
appelons cette requte "Par anne". Modifions-l comme suit. Dans la ligne critre sous le champ anne,
tapons =[anne_des_activits]. attention de bien respecter la syntaxe, pas d'espaces. En ouvrant la
requte, Access pose automatiquement la question anne? Il suffit de rentrer l'anne demande, par
exemple 2002 et seules les entres sorties de 2002 seront affiches. Pendant que nous y sommes, crons
une deuxime requte qui demande l'anne et l'activit. Pour cela, slectionnons la requte "par anne"
avec la touche droite de la souris et slectionnons "Copier". Ensuite utilisons la commande "Coller".
Access demande un nouveau nom de requte, rpondons "par anne et activit". Comme critre sous le
champ activit, tapons tous simplement =[activit_souhaite]. Access demandera l'anne et l'activit.
Dans la partie gauche, choisissons Etat et dans la partie droite
l'aide des assistants. Slectionnons la requte "par anne" et tous
ses champs.

Slectionnons anne comme regroupement et SUIVANT. En tri,


slectionnons date (par exemple) et montant comme option de
synthse, la somme pour le champ montant. Le rsultat sera par
41 / 79

exemple comme ci-dessous. Modifions notre tat pour parfaire la lecture. Choisissons la difficult,
modifions l'tat existant. Nous allons une fois de plus utiliser la barre d'outils.

Dans la zone d'en-tte, insrons une zone de texte et dans cette zone, tapons [anne_des_activits].
Nous pouvons ventuellement changer la mise en forme de ce champ (gras, hauteur suprieur. Une
deuxime modification possible serait de dissocier par activit les rentres et les sorties. Nous aurions pu
le faire la cration, mais faisons-le directement en mode modification. Dans le menu Affichage,
slectionnons "Trier et regrouper". Insrons le champ TYPE et tapons Oui en pied de groupe, dplaons
TYPE entre activit et date.

Insrons maintenant une zone de texte et remplaons le terme indpendant par


=somme([montant]) dans le pied de groupe TYPE. Nous pouvons crer le mme ETAT pour la requte
"par anne et activit". D'autres modifications sont possibles, 2 dcimales dans les proprits des somme,
insrer des pieds de page en bas de chaque groupement d'activit, Je vous laisserai le faire.

4. Menu d'entre
Crons une macro. Dans la partie gauche, slectionnons "Ouvrir formulaire". Dans les proprits,
slectionnons le formulaire que nous souhaitons ouvrir. Enregistrons notre macro comme Ouvrir le
formulaire. Crons une deuxime macro pour ouvrir l'tat "Par anne". Slectionnons la commande ouvrir
tat et en proprit ETAT par anne. Dans la proprit Affichage, slectionnons aperu avant impression.
Crions la mme pour l'tat 'par anne et activit.
Crons maintenant un formulaire en mode cration. Notre but n'est pas ici d'afficher des champs, mais de
faire un menu de dpart.
Crons un bouton, slectionnons comme choix "Divers", excuter macro. Slectionnez la macro
Formulaire. Slectionner soit un texte, soit une image de votre choix.. Tapez Formulaire comme nom de
bouton. Faite de mme pour les 2 autres macros.

42 / 79

Recrez un quatrime bouton. Slectionnez la catgorie Applications gauche et Quitter une application
droite. Suivant. Slectionner par exemple le panneau de sortie. Ceci permettra de quitter Access.
Dans le menu OUTIL d'Access, slectionnez la commande "Dmarrage".
Comme "Afficher " Slectionnez Principal. Le reste est de la mise en page. A partir de maintenant, en
cliquant sur l'application, le menu principal apparatra en premier et les diffrents tats et formulaires
seront accessible par les boutons.

43 / 79

10. Liste de choix Access

1. Introduction.
Mme si une brve introduction dans les tables a dj survol les listes de choix, il est temps de
voire les 3 mthodes distinctes de cration d'une liste de choix pour un champ Access.
Une liste de choix permet de slectionner une valeur pour un champ dans une liste de valeurs
possibles. Selon la configuration du champ, la liste peut-tre limitative ou non (vous ne pouvez choisir
qu'une valeur de la liste ou pouvez en proposer d'autres).
La premire mthode consiste crer manuellement la liste. Cette solution est la plus simple pour
un petit nombre de valeur mais oblige dans la pratique modifier la structure de la table pour ajouter,
modifier ou supprimer un choix de la liste. Cette solution n'est donc utiliser que pour de petites listes
non variables.
La deuxime solution utilise directement une table (ou une requte) pour rcuprer les donnes.
Cette mthode est relativement souple, un simple menu reprenant la table permet de modifier les donnes
de la liste. Cette mthode passe ventuellement par une solution SQL.
La dernire solution est la plus volutive, puisqu'elle permet de reprendre dans une table les valeurs
prcdemment tapes. Cette solution est la plus difficile appliquer, mais n'impose pas de modifier la
table chaque nouvelle entre. Par contre, elle ne permet pas de limiter une liste dfinie l'avance.

2. Liste de choix par valeurs souhaites.


Cette solution est la
plus simple. Crons une
nouvelle table appele
adresse par exemple. Dans
cette table crons un champ
titre dont les valeurs
possibles sont:
Monsieur
Madame
Monsieur et

Madame
Mademoiselle
Dbutons par crer le
champ, dans le type de
donnes, slectionnons:
Assistant liste de choix

44 / 79

La premire question reprend


le type de liste de choix que
vous souhaitez crer. Dans
cette premire partie, nous
allons slectionner "Je
taperai les valeurs
souhaites"
Slectionnez 1 colonne, nous
tudierons le cas de plusieurs
colonnes ci-dessous. Cliquez
sur le bouton terminer. Rien
n'a l'air d'avoir t cr, le
type de champs est mme
redevenu texte. Access n'a
pas tap les valeurs possibles
votre place, le gestionnaire
de base de donne a juste
"prpar le terrain". Dans la
partie proprit du champ
titre, slectionnez Liste de
Choix. Il ne reste plus qu'
taper les valeurs souhaites
spares par le caractre ";".

En passant en mode
Affichage, la liste apparat
lorsque vous essayez de
rentrer une valeur dans le
champ Titre.

3. Proprits des Listes de Choix

Nous pouvons galement utiliser les proprits du champ


titre pour crer des contraintes sur ce champ. Pour le
champ titre, reprenons les proprits de la liste de choix.

Afficher le contrle: Cette fonction permet de dterminer comment la liste de valeurs est affiche
dans les formulaires et tables Access. Le choix va galement modifier la liste des proprits.

45 / 79

Zone de
liste
droulan
te:

Zone de
liste

Zone de
texte

supprime la fonction
Origine Source

Cette proprit permet de slectionner la manire dont les


donnes sont rcupres dans la liste droulante
Nous reparlerons dans le bas de ce chapitre des diffrentes possibilits.
Contenu. Spcifie le contenu de la liste de choix, une liste de valeurs tapes, table requte,

...
Colonne lie et nombre de colonnes.
Lorsque vous crez une liste de choix, vous pouvez demander de rentrer les donnes dans 2
colonnes (ou plus). Cette possibilit permet d'afficher 2 colonnes pour la liste de choix.
Normalement, Colonne lie devrait permettre de slectionner la ligne contenant plusieurs colonnes
et d'insrer comme valeur la deuxime la deuxime.
Entte de Colonne: cette proprit permet d'afficher la premire ligne comme en-tte de
colonne.
Largeur de colonne: permet de spcifier la largeur en centimtre de la colonne de choix.
Lignes affiches (zone de liste droulante uniquement): Cette proprit permet de choisir
le nombre de lignes affiches sans ascenseur dans les zones de listes droulantes.
Largeur Liste (zone de liste droulante uniquement): permet de dterminer en centimtres
la largeur de la liste.
Limiter liste (droulante uniquement): permet de limiter les valeurs slectionner
uniquement la liste reprise ci-dessus. Cette possibilit est utile dans de nombreux cas.

Pour rappel, dans les proprits du champ, vous pouvez galement utiliser la proprit Null Interdit
et surtout Chane vide autorise. Ceci permet de taper un espace comme valeur.

4. Liste de choix par table


46 / 79

La deuxime possibilit de crer une liste de choix utilise une table (ventuellement une requte
pour un classement en ordre croissant). Cette possibilit permet de crer une table reprenant tous les choix
possibles. Pour ajouter ou modifier des donnes, il suffit de modifier la table.
Commenons par crer une table reprenant nos diffrentes
possibilits. Cette table que nous appellerons TITRE ne contient
qu'un seul champ, que nous appellerons Titre, galement cl
primaire.
Rentrons dans cette table les diffrentes possibilits: Monsieur, Madame, ....

Reprenons la table adresse et pour le champ


titre, modifions les proprits du type pour
slectionner "Assistant Liste de choix".
Slectionnons "Je veux que la liste de
choix recherche les valeurs dans une table
ou une requte".

Comme table, slectionnons notre table Titre


et slectionnons le champ titre.

Ajustons la taille de la colonne pour reprendre l'ensemble des donnes l'affichage. Et voil. Notre
liste de choix est cre. De plus comme le champ titre de la table Titre est dj trie par ordre croissant, il
n'y a plus aucune opration faire.

5. Liste de choix par requte de regroupement.


Cette possibilit va nous permettre de reprendre les donnes dans une requte, sauf que la requte
est de type regroupement. Cette solution permet de rentrer des valeurs dans notre table adresse, mais la
liste de choix va reprendre toutes les valeurs possibles prcdemment cres. C'est la solution la plus
souple.

Crons une simple requte comme


ci-dessous

47 / 79

Ajoutons simplement la table


Adresse. Dans la barre d'outils,
. Cette
slectionnons
possibilit va crer une requte de
regroupement. De ce fait, notre
requte (appelons-l titre
regroupement) va reprendre toutes
les donnes dj tapes dans la
table Adresse pour le champ Titre.
Comme tri, slectionnons
Croissant.
Il ne nous reste plus qu' crer une liste de choix dans la table adresse reprenant cette requte.
N'oubliez pas de mettre la proprit de la zone de liste, limiter liste sur non.

48 / 79

11. Cration de Macro par le menu

1. Qu'est ce qu'une macro?


Une macro reprend une ou plusieurs commandes Access excutes les unes la suite des autres,
chacune excutant une tche prcise. Les actions excutes peuvent tre l'ouverture (la fermeture) d'un
formulaire, imprimer un tat ou rafrachir la fentre en cours par une procdure vnementielle.
Dans le chapitre 7 de cette formation, nous avons utilis l'aide de l'assistant pour crer un menu de
dmarrage. Cette mthode pour crer une macro a l'avantage d'tre simple et le dfaut d'avoir un choix
d'actions limites.
L'autre possibilit utilise le menu Macro. Cette solution permet d'autres choix, mais galement de
faire excuter plusieurs actions les unes derrire les autres. Nous verrons dans le chapitre suivant que ces
macros sont surtout utilises dans les procdures vnementielles. Analyser toutes les macros Access
serait trop long, ce chapitre reprend donc les principales.
Nous n'utiliserons pas dans cette formation Access les modules, plus spcifiques la
programmation.
Une dernire remarque, la diffrence des macros de Word ou d'Excel, une macro Access n'est pas
enregistre en suivant vos actions mais bien en slectionnant les commandes disponibles.

2. Notre premire macro


Commenons par une cration simple. Slectionnons le menu Macro et cliquons sur le bouton
Nouveau. La fentre suivante apparat.

La fentre Macro est divise en 3 parties:


1.
la partie action, en haut gauche (en gros une liste de choix), reprend la liste des
commandes disponibles.
2.
une partie commentaire optionnelle
3.
en dessous les options en fonction de l'action slectionne.
Nous allons crer une macro qui ouvre un formulaire pour dbuter.
Slectionnons comme action "Ouvrir Formulaire"

49 / 79

Dans la partie en bas, slectionnez le formulaire l'aide de la liste droulante. Comme mode
d'affichage, vous avez le choix entre: Formulaire (le mode standard), cration (modification du
formulaire), aperu avant impression, feuille de donnes, ...

Vous pouvez galement crer un filtre ou une condition ou slectionner le mode Donnes:
1. Ajout
2. Modification
3. Lecture seule
Cette macro peut tre utilise avec un bouton (cf. le chapitre 7 de cette formation) ou comme
procdure vnementielle (le chapitre suivant).

3. Macro d'ouverture et fermeture.


Commenons par les macros permettant d'ouvrir ou de fermer une table, une requte, un formulaire
ou un tat. Le principe est le mme pour toutes.
Les procdures d'ouverture commencent toutes par ouvrir

3.1. Ouvrir une table: OuvrirTable

50 / 79

Cette macro n'est pas trs diffrente de la macro ci-dessus qui ouvrait un formulaire. Elle est mme
plus simple. Un premier point intressant est le mode d'ouverture: ajout (uniquement ajout
d'enregistrement), modification (ajout, lecture et modification, c'est le mode qui offre le plus de
possibilits), lecture seule (pas de modification possible).
L'utilisation de la macro d'ouverture d'une requte OuvrirRequte est parfaitement identique.

3.2. Ouvrir un tat: OuvrirEtat


Cette macro d'ouverture d'tat est similaire celle d'une table ou d'une requte. La seule distinction
vient du mode affichage qui peut tre en impression directe (immdiate) ou Aperu avant impression.
Dans ce dernier mode, l'utilisateur doit confirmer la demande d'impression. Cette option est prfrable,
elle vite des erreurs de choix qui imprimeraient des dizaines de pages inutiles.

3.3. Fermer
Toutes les commandes de fermeture sont rassembles sous 1 seule macro: Fermer. Le choix du type
et du nom de l'objet se dfinissent dans les options de la commande.

4. Macro de recherche
Sont regroupes ici les commandes permettant de rechercher des donnes l'aide d'une macro dans
une table, requte ou formulaire actif. L'utilisation de ce type de commande ncessite donc une ouverture
de formulaire, table ou requte dans la mme macro au pralable ou l'utiliser.
Les options de la commande macro TrouverEnregistrement sont similaires aux recherches
manuelles d'Access.

51 / 79

Pour continuer la recherche, vous pouvez utiliser la commande TrouverSuivant qui ne possde pas
d'options.

5. Macro de dplacement
La commande AtteindreEnregistrement est parfaitement identique au bouton de navigation et de
recherche Access. La commande AtteindrePage permet de se dplacer dans les pages d'un tat.

6. Quelques macros spciales


Comme le but de ce cours Access n'est pas d'analyser toutes les macros, je rassemble ici quelques
macros spcifiques utilises dans des cas spciaux.

6.1. Actualiser.
Actualiser permet d'actualiser les donnes de la table en cours ou mme des tables et requtes
utilises par le formulaire actualis. Elle vite de fermer et de redmarrer le formulaire en cours. Nous
l'utiliserons rgulirement dans les exercices.

Le Nom de contrle permet de ne ractualiser qu'une valeur du formulaire.

6.2 Transfrer en Excel (importer ou exporter)


Cette commande permet d'importer une feuille Excel comme table dans Access ou de transfrer une
table ou une requte vers un fichier Excel. Le nom du fichier - feuille excel et table - base de donne
Access doit tre mentionne.

52 / 79

6.3. Slectionner objet


Cette dernire commande SlectionnerObjet permet de slectionner un objet (tat, formulaire,
requte ou table) en cours de travail. Elle est utilise en combinaison avec les fonction de recherche cidessus par exemple.

7. Exemples de Macro.
Pour rappel, les macros peuvent tre utilises l'aide de bouton ou l'aide de procdures
vnementielles (un click sur un objet par exemple, ce sera le prochain chapitre). Nous nous intressons
ici aux macros dveloppes pour les boutons. D'autres exemples de macros sont repris dans l'utilisation de
la barre d'outils ci-dessous.

7.1. Macro ouvrant un formulaire et fermant le formulaire prcdant.


Soit un formulaire "Menu" de dpart" et un bouton ouvrant le formulaire "facture" en mode lecture
seule. Ce type d'application assez classique va utiliser 2 lignes de commande:
A. La commande pour fermer le formulaire Menu

B. L'ouverture du formulaire "Facture". N'oubliez pas l'option "Lecture seule" qui empche toutes
modifications des donnes.

Enregistrer votre macro. Pour crer le bouton, utilisez la procdure vue prcdemment et
slectionner la macro cre

53 / 79

7.2. L'impression d'un tat avec retour au formulaire de dpart.


Cette macro va utiliser 1 lignes de commandes, ventuellement 2
A. Ouverture de l'tat en impression directe (sans aperu avant impression)

B. Dans le cas ou plusieurs formulaires sont ouverts simultanment, vous pouvez rajouter la
commande de slection suivante.

Ajustons la taille de la colonne pour reprendre l'ensemble des donnes l'affichage. Et voil. Notre
liste de choix est cre. De plus comme le champ titre de la table Titre est dj trie par ordre croissant, il
n'y a plus aucune opration faire.

8. La barre d'outils macro.

Cette barre d'outils Access comporte de nombreux petits utilitaires qui vont nous permettre de tester
nos macros.
1. Noms de macros permet de faire des "sous-macros", de crer une macro regroupant plusieurs
macros internes
2. Conditions: permet de crer une ou plusieurs conditions pour l'excution de commandes.
3. Insrer une ligne permet d'insrer une commande entre 2 lignes d'une macro.
54 / 79

4.
5.
6.
7.

Supprimer une ligne permet de supprimer une ligne de commande


Excuter permet d'excuter la macro en cours.
Pas pas permet d'excuter votre macro ligne par ligne
Assistant cration n'est accessible que si vous crez une condition d'excution de la ligne de
commande.

8.1. Nom de la macro.


Cette fonctionnalit permet de crer une macro rassemblant plusieurs procdures et de choisir
l'excution d'une ou l'autre selon les besoins. Cette possibilit permet notamment de ne crer qu'un fichier
macro pour l'ensemble ou une partie de votre base de donne Access.
Crons la macro suivante qui va ouvrir le formulaire "client" en mode ajout, ouvrir le formulaire
"Facture", imprimer l'tat "YBET" en mode direct et reslectionner le formulaire facture.

1. Ouverture du formulaire client

2. Ouverture du formulaire facture

3. Imprimer l'tat YBET


4. Slectionner le formulaire facture:

Cette macro pourrait tre utilise telle quelle. Pourtant, nous dsirons scinder notre macro: utiliser les
3 dernires lignes de la macro ensemble. Nous allons donner un nom de macro partie de la deuxime
ligne. Cliquer sur le bouton "Nom de macro" dans la barre d'outils fait apparatre une colonne en plus.
Tapons formulaire macro en regard de notre deuxime ligne de commande.

55 / 79

En registrez cette macro sous le nom "formulaire" et crons un nouveau formulaire de menu. Crons
un bouton de navigation et slectionnons comme commande Divers - excuter une macro. La liste des
macros disponibles apparat de la manire suivante:

Formulaire n'excute que la premire ligne de commande


Formulaire.formulaire facture les 3 dernires lignes de commandes de notre macro

Cette mthode ne permet donc pas de mlanger des macros, sauf que nous aurions pu insrer une

ligne de commande "Excuter macro":

8.2. Condition
Cette possibilit va nous permettre de crer des conditions pour qu'une ligne de commande s'excute.
Supposons dans un formulaire de rentre des factures que nous souhaitons un message dans le cas o
le code du client est nul. Slectionnez le bouton "Condition" et utilisez l'assistant:

La macro devient:

56 / 79

Enregistrez la macro sous le nom condition, par exemple. Si nous excutons la macro condition alors
que le champ code client est vide, le message suivant est affich.

9. Pour terminer.
Crer une macro Access n'est pas trs complique. L'utilisation de ces lignes de commandes l'aide
d'un bouton a dj t vue. Un chapitre suivant (procdures vnementielles) va aller plus loin dans
l'utilisation des macros puisque nous allons pouvoir crer un vnement automatique en fonction de
diffrents critres.

57 / 79

12. Formulaire avanc Access

1. Introduction
Dans un prcdant chapitre, nous avons vu comment crer un formulaire Access de base ou mme de
le personnaliser un peu. Cette partie de la formation va utiliser quelques proprits avances des
formulaires et nous permettre d'insrer d'autres objets.
Commenons par crer une nouvelle base de donne de type fichier d'adresse (ventuellement
l'aide de l'assistant de Microsoft) comportant une table reprenant minimum les champs suivants: Titre,
nom, prnom, adresse, code-postal, ville et tlphone. Enregistrez cette base de donne sous le nom
Adresse par exemple.
Crer un simple formulaire reprenant cette table l'aide de l'assistant. Reprenez ce formulaire en
mode modification. Il devrait se prsenter comme ci-dessous:

A ce stade de notre formulaire, rien de bien complexe. La suite va nous permettre de personnaliser
notre formulaire. Nous allons utiliser une large partie de la barre d'outils de cration de formulaire:

Certaines parties cette barre d'outils Access nous sont dj familires.

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


Assistant contrle permet de travailler ou non avec des contrles, c'est une aide prcieuse pour la
cration 'un formulaire.
58 / 79

Texte (tiquette) et champ ont dj t utilis dans le chapitre sur les formulaires et les champs
calculs.
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"
Groupe d'options
Zone de liste modifiable et zone de liste ont t utiliss lors de la cration de listes
Bouton de commande: l'utilisation des boutons dans les formulaires a t vu dans le chapitre
macro de base
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 ou l'tat en pages
Contrle d'onglet: permet d'insrer des onglets sur un formulaire pour afficher plus
d'informations
Sous-Formulaire a t utilis dans les bases de donnes relationnelles
Ligne et rectangle ont dj t utilis dans le chapitre sur la cration d'un formulaire de
base
Autres contrles: une liste de contrle que nous n'aborderons pas.

2. Premire mise en forme de notre formulaire


Pour dbuter, commenons par modifier notre formulaire en insrant un logo, un titre pour notre
formulaire, un rectangle autour du nom et une ligne de sparation. Comme ces possibilits ont dj t
vues dans les formulaires de bases, je ne les vois pas en dtail. Le formulaire modifi devrait ressembler
ceci:

3. Groupe d'options
Un groupe d'options permet de choisir une valeur dans une liste prdtermine. Son utilisation est
donc similaire celle d'une zone de liste ou d'une zone de liste modifiable. La seule relle diffrence vient
de l'affichage. Dans un groupe d'option, toutes les valeurs possibles sont affiches. Dans une zone de liste,
vous devez cliquez sur la case de droite pour les afficher.
Comme exercice, nous allons crer une option qui va dterminer les titres possibles. Si ce n'est pas
fait, cliquez sur le bouton Assistant contrle dans la bote d'outils pour utiliser l'assistant. Cliquez ensuite
sur le bouton "groupe d'options". Nous allons commencer par remplir les diffrentes possibilits.

59 / 79

L'tape suivante nous permet de donner une valeur par dfaut notre groupe d'option.

La question suivante va nous permettre de dterminer le numro de chaque possibilit (notre


exemple n'est donc pas trs utile puisqu'il ne permet pas d'enregistrer directement le texte dans le champ
mais bien un numro). La solution passera par une macro par exemple pour le transfert.

Pour la suite de notre exercice, nous allons insrer la valeur dans le champ titre.

60 / 79

La dernire tape va nous permettre de personnaliser notre groupe d'options: le type de contrle
pour l'aspect des boutons, le style pour les encadrements.

Et voici le rsultat final

4. Insertion d'un nouveau champ dans notre formulaire.


Pour la suite de la personnalisation de notre formulaire, nous allons insrer dans notre table un
nouveau champ "Professionnel" de type Oui ou Non.

Aprs avoir enregistr la table, reprenons notre formulaire en mode modification. Nous souhaitons
insrer ce champ dans notre formulaire existant.
Nous avons 2 possibilits, soit par le menu affichage et la commande Liste des champs en dplaant
la ligne professionnel vers notre formulaire (Access cre automatiquement une case cocher), soit en
utilisant les proprits avances.
Insrez un bouton bascule sur votre formulaire.

Pour dfinir les proprits de ce bouton, slectionnez la commande proprit dans le menu contextuel
du bouton (touche droite de la souris). Comme nom, vous pouvez garder celui propos ou taper votre
propre nom (par exemple professionnel bouton). Comme source de contrle, utilisez la flche de liste
droite pour slectionner professionnel. Pour insrer du texte sur le bouton, double-cliquez dessus et taper
votre texte. Cette possibilits s'utilise de la mme manire pour un Bouton bascule, bouton cocher et
Case cocher

61 / 79

Pour un champ standard (pas de type Oui/non), vous pouvez insrer une zone de texte et modifier les
proprits de la mme manire.

5. Cadre d'objet indpendant


Cette fonctionnalit, peu utilise dans Access, permet d'insrer un objet OLE dans un formulaire
(ou un tat). Un objet OLE reprend par exemple de la musique, vido, clipart et images diverses,
graphique Excel, ... Dans ce cas ci, l'objet est quivalent sur toutes les pages de notre formulaire (il est
indpendant), quelque soit l'enregistrement.
Cliquez sur le bouton Cadre d'objet indpendant dans notre formulaire d'adresse (en mode
modification):

Vous pouvez soit utiliser un objet existant, soit crer un nouvel objet (gnralement modifiable
par double-click).

6. Cadre d'objet dpendant


Dans ce cas, l'objet insr sur notre formulaire va dpendre de l'enregistrement. Nous allons
utiliser cette possibilit pour afficher la photo de la personne reprise dans notre base de donne Access.
Quitter le formulaire et reprenez la table Adresse en mode modification. Nous allons insrer un nouveau
champ dans notre Table Access de type OLE.

62 / 79

Quittons le mode cration pour reprendre notre table en mode feuille de donnes. Pour insrer la
photo de la personne, positionnez le curseur sur le champ Photo et par le menu Insertion, slectionnez la
commande Objet. En cochant "A partir du fichier", vous pouvez maintenant lier la photo de votre
correspondant avec sa fiche dtaille. Pour afficher la photo, double cliquez sur le champ de
l'enregistrement correspondant.
Revenons maintenant notre formulaire. Insrons un cadre d'objet dpendant en utilisant la barre
d'outils. Utilisez la touche droite de la souris pour afficher les proprits de l'objet et slectionnez Photo
comme source de contrle.

Voici le rsultat:

7. Contrle d'onglet
Un contrle d'onglet va nous permettre de dissocier les informations associes en un ensemble de
sous fentre tout fait similaires aux fentres onglet de Windows. Les formulaires Onglets sont
utiliss pour dissocier des informations d'un enregistrement ou pour clarifier l'affichage.
Cliquez sur le bouton "Contrle d'onglet" dans la barre d'outils de cration de formulaire. Dlimitez
la zone d'onglet sur votre formulaire. Vous devriez obtenir quelque chose similaire ceci

Pour slectionner l'onglet Page100 comme l'exemple ci-dessus, cliquez simplement sur le nom. Pour
insrer un champ, un objet, suivez la mme procdure que ci-dessus. Par contre pour dplacer un objet du
formulaire vers l'onglet, vous devez faire un copier - coller. Pour changer le nom de l'onglet, utilisez le
menu contextuel (touche droite de la souris) pour afficher les proprits et changer la proprit Nom.
D'autres possibilits existent par ces mmes proprits.

63 / 79

13. Champs calculs en Access

1. Introduction.
Jusque maintenant, les seuls calculs que nous avons effectu avec Access se faisaient dans les Etats,
et encore avec seulement 4 fonctions: somme, minimum, maximum, moyenne. Dans une base de donne,
les calculs se font dans les Etats, mais uniquement sur la valeur d'un champ pour un ensemble
d'enregistrements. Dans de nombreux cas, nous devons calculer directement sur une ligne (sur un
enregistrement).
Prenons un exemple: une facturation reprend la quantit, le taux de TVA et le prix unitaire d'une
marchandise. Il nous reste calculer le prix hTVA, TVAc, ... De mme, dans une gestion de stock, nous
pouvons tre amen calculer le stock rel comme la diffrence entre les entres et les sorties. Pour
Excel, la solution passe par des calculs directs (cours excel: fonction), la solution en Access passe par un
champ calcul.
Les champs calculs sont valables pour les requtes, formulaires et tats mais vous ne pouvez pas
utiliser cette fonctionnalit pour une table.

Comme exercice, nous allons monter une petite facturation sous


Access. Commenons par crer une nouvelle base de donne
vide. Dans cette base de donne Access, crons une simple table
reprenant les champs suivants:

Appelons cette table "contenu facture". En effet, la base de donne sera ventuellement complte par la
suite par des tables supplmentaires comme l'en-tte de facture, les produits, clients, ...

2. Champ calcul dans une requte


Passons maintenant en mode requte et utilisons le mode assistant. Slectionnons la table:contenu
facture

Enregistrons notre requte sous le nom TVAc.

64 / 79

Dans la colonne suivante, nous souhaitons calculer sous Access le prix hTVA payer. Dans champ,
tapons hTVA:[Quantite]*[Prix]. Access ne tient pas comptes des majuscules - minuscules.

hTVA est le nom du champ cr


: signale le calcul
[texte]: reprsente le nom du champ de la table / requte.

De mme, dans la colonne suivante, faisons le calcul montant TVAc, la fonction devient: tvac:
[htva]*(1+[TVA]/100). Notez que le calcul tient compte d'un taux de TVA en chiffre normal (pas en
pourcentage) puisqu'il est divis par 100. Le champ calcul prcdemment (htva) est bien repris comme
un champ de la requte.

Pour crer un champs calcul dans une requte: dans la case champ, tapez:
Nom du nouveau champ:calcul
o calcul est valeur * [nom de champ inclus dans la requte]
Passons en mode affichage par le bouton
les donnes suivantes:

en haut gauche (barre d'outils cration) et rentrons

Access calcule automatiquement le montant hTVA et le montant TVAc.

3. Champ Access calcul dans un formulaire.


Crer un calcul Access dans un formulaire n'est gure plus difficile. A l'aide de l'assistant, crons un
formulaire Access reprenant tous les champs de la table "Contenu facture" en mode tabulaire.

65 / 79

Une fois le formulaire cr, utilisez la barre d'outils pour crer une zone de texte. Une zone de texte
permet en fait d'insrer un champ. La zone cre reprend une tiquette (reprise dans l'exemple ci-dessus
comme Texte8) et une zone de champ reprise dans l'exemple ci-dessus comme indpendant.

Dans la zone de texte, tapons =[Prix]*[quantite]. Si nous affichons les proprits de ce champ, la
source de contrle est remplac par notre texte. Nous pouvons galement changer le nom de notre zone de
texte par hTVA. L'tiquette associe n'est pas modifie, elle ne reprsente qu'un texte descriptif qui peut
dans notre cas tre effac. Vous pouvez passer en mode formulaire pour vrifier que le montant hors TVA
est bien mis jour en fonction du prix et de la quantit dans notre formulaire contenu facture.
Pour le prix TVA comprise, nous utiliser l'autre mthode qui consiste utiliser les fonctionnalits
de la fentre proprits. Mme si cette possibilit n'a pas encore t aborde dans ce cours en ligne (mais
fait dj partie de la matire vue dans notre formation Access en entreprise ou dans nos salles de
formation) Crez une nouvelle zone de texte, slectionnez-l avec la touche droite de la souris pour
afficher la fentre de proprits. Dans la case "Source Contrle", slectionnez la zone l'extrieur droit:
. Ceci nous permet d'afficher le gnrateur d'expression.
En cliquant sur les petits +, ouvrez Formulaires -> Formulaires chargs. Slectionnez Quantite
(Valeur) et double cliquez dessus (Utilisez le bouton Coller fonctionne galement). Taper dans la fentre
au-dessus * et slectionnez les champs, tapez les valeurs souhaites pour obtenir: tvac:
[htva]*(1+[TVA]/100)

66 / 79

En mode visualisation,
votre formulaire Access
doit afficher ceci:

4. Champs Access un tat.


Pour avoir dj travaill sur les tats Access, nous avons dj fait des options de synthses. Cette
fonction permet de faire une somme, maximum, minimum et moyenne sur des valeurs d'un mme champ
pour des enregistrements spcifis. Nous allons utiliser la mme technique que pour les formulaires.
Commenons par crer un tat l'aide de l'assistant en utilisant de nouveau la table "Contenu Facture",
sans regroupements.
Utilisez le mme principe qu'avec le formulaire pour crer les champs calculs hTVA et TVAc

Les fonctions de calcul hors TVA et TVA comprise sont identiques celles des formulaires:
67 / 79

Cours: 14. Access en rseau

1. Introduction
La base de donne Access est directement utilisable en rseau local. Il n'y a donc priori pas de
rglage faire pour partager une base de donne Access, si ce n'est partager le dossier sur le serveur
rseau pour donner l'accs chacun, mais c'est assez thorique. Le partage rseau d'ACCESS n'est pas le
point fort de cette base de donne, surtout si vous essayez avec un nombre important d'utilisateurs
connects simultanment.
Avant de d'tudier les possibilits rseaux d'Access, un petit rappel sur les rseaux informatiques.
Pour installer un petit rseau, il faut comme matriel: une carte rseau implante dans chaque ordinateur,
une connexion entre ces PC. Si le nombre d'ordinateurs connecter est limit 2, vous pouvez utiliser
directement un cble RJ45 crois. Par contre, si vous connectez plus de 2 PC, il vous faut un switch (un
hub ventuellement) et des cbles RJ45 droits que vous reliez de ce switch vers chaque PC. Ces cbles
peuvent tre achets tout fait, soit fabriqus. Ces connexions sont expliques dans connexion rseau RJ45.
Maintenant que vous avez cbl votre rseau, il vous faut paramtrer les diffrents ordinateurs. On
trouve 2 types de rseaux locaux: les "postes postes" (peer to peer) et les rseaux "clients-serveurs".
Dans le premier cas, ceci ne ncessite pas d'ordinateurs particuliers. Chaque ordinateur d'un rseau poste
poste est quivalent et partage ses dossiers et imprimantes. Cette facilit de partage se fait nanmoins au
dtriment de la scurit. Microsoft limite de toute faon le nombre d'ordinateurs connects 10 en Win
2000 et Win XP Pro. Cette fonction n'est plus rellement implante en Win XP home. Les rseaux
"client-serveur" ncessitent un ordinateur particulier qui va partager ses informations. Le systme
d'exploitation de ce serveur est Win 2000 (version serveur) ou Windows 2003. Le systme d'exploitation
va garantir de meilleurs contrles au niveau des accs utilisateurs.
Dans le premier cas, le partage se fait entre des ordinateurs du mme groupe de travail. Dans le
deuxime cas, le partage se fait dans un mme nom de domaine.
Une fois les ordinateurs correctement installs, il ne reste plus qu' copier la base de donne dans un
dossier accessible aux utilisateurs concerns.
Le cours hardware 2 reprend des renseignements complmentaires concernant les installations
rseaux.

2. Gestion des conflits.


Le partage rseau en ACCESS va donc permettre de travailler simultanment sur la mme base de
donne. Cette possibilit ncessite quelques rgles. Lorsque la base de donne est en lecture, peu de
problmes de conflits. Par contre, il se pourrait trs bien que 2 utilisateurs modifient le mme
enregistrement en mme temps. Dans ce cas, Access va Bloquer l'enregistrement tant que le premier
utilisateur sera en mode modification.
Remarque, si vous n'avez pas de rseau install, vous pouvez dmarrer 2 fois la mme base de
donne. C'est la mthode que nous allons utiliser dans ce cours.

68 / 79

2.1 Modification d'un enregistrement.

Dans l'exemple ci-dessus, Nous avons modifi le champ titre d'un enregistrement par une instance de
la base de donne. Par contre, l'autre affichage n'est pas modifi. Par contre, si l'utilisateur avance
l'enregistrement suivant et revient cet enregistrement, les nouvelles donnes sont effectivement
affiches.

2.2. Modification simultane du mme enregistrement.


Ouvrez le mme formulaire simultanment dans notre base de donne facture et modifiez le mme
enregistrement par les 2 fentres. Automatiquement le message suivant va apparatre lorsque le deuxime
utilisateur va quitter l'enregistrement:

Si vous sauvegardez l'enregistrement, les modifications effectues par le prcdant utilisateur sont
crass pour tout l'enregistrement (mme si vous ne modifiez pas les mmes champs). Cette mthode de
travail est donc dangereuse.

3. Mode de verrouillage.
Les problmes rencontrs ci-dessus viennent du verrouillage par dfaut. Dans le menu outils,
slectionnez la commande Option, et finalement l'onglet Avanc. Cette partie va nous permettre de
modifier la manire dont Access gre ces conflits en rseau.

69 / 79

3.1. Mode d'ouverture par dfaut.


Le mode partag permet l'accs de plusieurs utilisateurs du rseau en mme temps sur la base de
donne. Par contre, le mode exclusif ne permet qu'un seul utilisateur la fois. Ce mode est utilis pour la
maintenance d'une base de donne Access par exemple.
Pour rappel, la commande ouvrir permet galement de se connecter sur une base de donne Access
en mode exclusif.

3.2. Verrouillage par dfaut.


Aucun ne bloque pas les modifications simultanes. C'est le mode par dfaut, c'est la raison des
messages d'avertissement plus haut.
Gnral n'est pas souvent utilis puisque si un utilisateur modifie un enregistrement, ACCESS
bloque compltement la table.
Enregistrement modifi ne bloque l'accs en modification qu' l'enregistrement en cours de
modification.
Aprs avoir quitt Access et redmarr les 2 bases
de donnes, la modification du mme enregistrement
par 2 utilisateurs en mme temps fournit ce message.
Tant que le premier utilisateur n'aura pas finit la
modification, l'utilisateur 2 n'aura pas l'accs
l'enregistrement.

4. Pour terminer
Le partage d'une base de donne Access est relativement simple. Mme si Access est nativement en
rseau, les possibilits de partages sont relativement faible, la base de donne reste limite au niveau
70 / 79

nombre d'utilisateurs connects simultanment. Microsoft dveloppant une autre base de donne plus
complte et plus complexe (SQL), Microsoft Access est volontairement limit au nombre d'utilisateurs
simultans: une dizaine me semble dj beaucoup. La partie suivante va permettre de bloquer les accs
utilisateurs mais il ne sert rien d'accder aux donnes via un mot de passe si n'importe qui peut
supprimer le fichier. Scuris l'accs au dossier est la premire tape de la scurisation sous Access.

71 / 79

15. Scurit Access

1. Introduction.
Dans le chapitre prcdant, nous avons vu le partage rseau d'une base de donne Access. Cette
possibilit peut entraner de graves problmes de scurit au niveau des donnes. Quiconque a accs au
dossier partag a galement accs toute la base de donne. Pour viter qu'un utilisateur ne supprime les
donnes que vous avez patiemment rcoltes, il est prfrable de crer des groupes d'utilisateurs ayant
chacun des droits d'accs bien dlimits.
Lorsque vous vous connectez sur une base de donne, Access ouvre automatiquement un groupe de
travail. Ce groupe de travail dfinit des utilisateurs et des groupes d'utilisateurs. Un utilisateur se connecte
grce un login (compte utilisateur) et un mot de passe. Chaque utilisateur est repris dans un groupe
d'utilisateurs qui rassemble les utilisateurs de mme profil. Les membres d'un mme groupe ont les
mmes droits. Lorsqu'une scurit au niveau utilisateur est mise en oeuvre, l'accs la base de donnes
passe par un mot de passe au dmarrage. Microsoft Access lit alors le fichier de groupe de travail qui
inclut les droits d'accs de chacun. C'est la solution standard de scurit en rseau.
Remarque: si vous ne crez pas de profils utilisateurs, vous tes automatiquement connect dans un
groupe de travail par dfaut en tant qu'administrateur. Vous avez dans ce cas tous les droits d'accs.
La majorit des commandes pour scuriser une base de donne Access se trouvent dans le menu
outils, sous la commande scurit.

Avant d'appliquer les droits et accs, faites une copie de votre base de donne. Certains
manipulations peuvent bloquer l'accs votre base de donne.

2. Dfinir le mot de passe de la base de donne Access


Ouvrez la commande "Dfinir le mot de passe ..." sous la rubrique scurit. La fentre permet de
crer un mot de passe. Lorsque vous ouvrirez la base de donne, Access demandera automatiquement le
mot de passe.

Cette solution n'est pas parfaite puisque le mot de passe connecte l'utilisateur en tant
qu'administrateur, lui donnant tous les droits d'accs. La mthode suivante va limiter les droits d'accs de
chaque utilisateur, en fonction du groupe.
72 / 79

3. MS Access Workgroup Administrator, (versions 2000 et


infrieurs)
La premire opration de scurisation de votre base de donne est de crer un nouveau groupe de
travail. Si vous n'excutez pas cette fonction, vous pourriez ne plus avoir l'accs vos bases de donnes
existantes. Cette fonction utilise un programme part, repris dans le dossier d'installation de Microsoft
Office: MS Access Workgroup Administrator.

Excutez le programme. La fentre suivante apparat, affichant le groupe de travail par dfaut:
system.mdw

Cliquez sur le bouton crer pour crer un nouveau groupe de travail. C'est ici que les choses
srieuses commencent.
Nom: nom du groupe de
travail
Organisation: votre
entreprise par exemple
Identificateur du
groupe de travail: un
ensemble de 20 lettre /
chiffres.
Notez soigneusement
ces informations, elles
sont ncessaires si vous
devez recrer ce groupe
de travail (fichier
dfectueux, effac, ...)

73 / 79

La phase suivante va
permettre d'enregistrer le
groupe de travail crer.
Vous pouvez utiliser le
groupe de travail par
dfaut (dangereux pour
vos bases de donnes
Access existantes) ou,
nettement conseill,
changer le nom du
fichier. Vous pouvez
galement crer ce
fichier dans un autre
dossier de Windows.

La dernire tape
consiste confirmer le
nouveau groupe. Le
groupe de travail n'est
donc plus le groupe par
dfaut, mais un nouveau
groupe.

4. Assistant Scurit au niveau utilisateur (XP, 2003).


Les versions Access XP et 2003 ont simplifi la cration d'un groupe de travail par une commande du
menu Outils: "Assistant Scurit au niveau utilisateur"
Cliquez sur cette
commande. Si vous
n'avez pas cr
prcdemment de
groupes de travail,
seule l'option crer
est accessible.

74 / 79

La fentre est
presque identique
celle du programme
"Access Workgroup
Administrator". Le
nom du fichier est
galement remplac.
Pour poursuivre,
vous avez 2 options:

... fichier de
groupe de
travail par
dfaut
. .. crer un
raccourci
pour ouvrir
ma base de
donnes
scurise.

Par scurit,
slectionnez la
fonction raccourci.
La premire option
dfinit un groupe de
travail pour votre
PC. Ceci pourrait
rendre impossible
l'accs d'autres
bases de donnes.
L'tape suivante va
permettre de
slectionner les
objets protger
dans la base de
donne en cours.
L'tape suivante
consiste crer des
groupes d'utilisateurs
optionnels. Ces
comptes de groupes
d'utilisateurs
dfinissent chacun
des autorisations
spcifiques
attribues aux
Par exemple, le "groupe sauvegarde" peut ouvrir la base de donne pour la
utilisateurs du
sauvegarder ou la compacter (compression des donnes) mais ne peux pas voire les
groupe.
objets (tables, ....).

75 / 79

L'tape suivante
consiste donner
des privilges au
groupes utilisateurs.
Par dfaut, Access
cre toujours le
groupe
Administrateur"
(accs total) et le
groupe "utilisateurs"
(accs restreints).
Dans la majorit des
cas, ne modifiez rien
ci dessous. Ceci
pourrait permettre
tous les utilisateurs
de modifier la
structure de la base
de donne par
exemple.
Nous allons
maintenant crer les
utilisateurs. Cette
commande peut
galement tre faite
par la commande
"Gestion des
utilisateurs et des
groupes". Crez au
moins 1 utilisateur.

Il ne nous reste plus


qu' rpartir dans des
groupes les
diffrents utilisateurs

La dernire tape
consiste faire une
copie non scuris
de la base de donne
en cours.
Il vous faut
maintenant
redmarrer Access et
pour rejoindre le
groupe de travail.
Malheureusement,
au dmarrage de
notre base de donne
76 / 79

facture:
Le message "Vous n'avez pas l'autorisation requise pour utiliser l'objet ...." est directement affich. A ce
moment, vous n'avez plus l'accs la base de donne. La raison est simple, ACCESS reprend encore le
groupe de travail par dfaut "system.mdw" et dans ce fichier, vous n'avez plus d'accs la base de donne
"Facture". Il nous faut donc maintenant rejoindre le nouveau groupe de travail. En version XP, le nom par
dfaut est scurit.mdw. Faite une recherche le cas chant.
Dmarrez Microsoft
Access. Dans le
menu Outils,
slectionnez la
commande Scurit,
suivi de
Administrateur de
groupe de travail.
Comme
administrateur, du
groupe de travail,
slectionnez
Rejoindre et
slectionnez le
groupe de travail
prcdemment.
Lorsque vous ouvrez
la base de donne,
Access vous
demande maintenant
un login et un mot
de passe.
4 remarques importantes.
1. les bases de donnes prcdemment cres au quelles vous n'avez pas cr de groupe de travail
continuent utiliser le groupe de travail par dfaut et sont donc toujours accessibles.
2. La base de donne protge ncessite le fichier de scurit pour l'accder. Ce fichier doit tre
sauvegarder AVEC la base de donnes.
3. Le fichier de scurit doit tre copi sur chaque PC du rseau autoris accder cette base de
donne. Un partage en rseau permettrait un autre utilisateur d'accder cette base de donne
partir de tous les PC
4. L'utilisateur Administrateur dans la base de donne protge doit changer de nom et utiliser un
mot de passe, ceci pour viter qu'un utilisateur ayant accs une autre base de donne comme
administrateur ne puisse accder votre base protge.

5. Crer des utilisateurs, groupes d'utilisateurs.


Rentrez comme administrateur dans la base de
donne. Nous allons maintenant ajouter des
groupes d'utilisateurs et des utilisateurs notre
base de donne scurise. Utilisez la commande
"Gestion des utilisateurs et des groupes" et
slectionnez l'onglet Groupe. Cliquez sur le bouton
crer pour crer un nouveau groupe d'utilisateurs
Le nom est celui de l'utilisateur. Le Npersonnel doit
pour accder la fentre ci-contre
comporter entre 4 et 20 caractres.
77 / 79

Une fois les groupes crs, nous pouvons crer les


utilisateurs par l'onglet Utilisateurs, nouveau. Par
le bouton Ajouter, vous slectionnez l'appartenance
un groupe pour chacun.

Quelques remarques, chaque utilisateur peut modifier par cette commande son propre mot de passe.
Attention, Access fait la distinction entre les majuscules et minuscules au niveau login et mot de passe.
Les utilisateurs avec une fonction d'administrateur peuvent supprimer un mot de passe existant d'un
utilisateur, mais pas le modifier.
Pour crer un mot de passe pour un nouvel utilisateur, il faut obligatoirement rentrer sous le nom de
cet utilisateur.
Pour changer d'utilisateur, vous devez obligatoirement quitter ACCESS. En effet, Microsoft Access
lit les paramtres de scurit au dmarrage du programme et non d'une base de donne.

6. Autorisations d'accs.
La dernire tape va consister crer les autorisations d'accs. Cette tape peut se faire en donnant
des privilges chaque utilisateur ou chaque groupe. Dans ce cas, les utilisateurs faisant partie d'un
groupe rcuprent automatiquement les droits d'accs du groupe.
Les administrateurs ont toutes les autorisations, y compris droit d'accs, effacer les fichiers, .... Un
utilisateur qui cre un objet (une table ou un formulaire par exemple) est propritaire de ses fichiers. Il a
donc le droit non seulement de les modifier, supprimer, mais galement de dlguer des droits aux autres
utilisateurs. Vous pouvez nanmoins changer le propritaire par le deuxime onglet. Remarque, ceci est
cr pour chaque objets. Changer le propritaire d'une base de donne existante est relativement
fastidieux.

78 / 79

Le premier onglet permet de donner les autorisations sur chaque objet de la base de donne.

Les possibilits sont:


1. Ouvrir / Excuter: permet d'ouvrir un formulaire / tat / macro.
2. Lire la structure permet de lire la structure des tables, requtes, ... (taille des champs par
exemple), mais pas de les modifier. Cette fonction est ncessaire pour pouvoir lire les donnes.
3. Modifier la structure permet de modifier les champs, taille, ... Y compris effacer l'objet.
4. Administrer permet de donner des droits d'autres utilisateurs. Le propritaire est d'office
administrateur de ses objets.
5. Lire les donnes permet de lire les informations
6. Modifier les donnes permet de lire et de modifier les donnes dans l'objet.
7. Ajouter des donnes permet d'ajouter des champs dans la base de donne.
8. Supprimer des donnes permet de supprimer le contenu de champs et d'enregistrements.
Vous pouvez slectionnez plusieurs objets d'un coups. Pour les groupes et utilisateurs, songez
donner des autorisations d'accs aux nouveaux objets. Ceci vous vitera de le faire manuellement ensuite.

7. Pour terminer.
Scuriser une base de donne Access est relativement longue mais ncessaire, surtout si elle est
partage en rseau. Par rapport d'autres bases de donnes, ses possibilits sont nanmoins relativement
faibles au niveau administration scurit.
http://www.ybet.be

79 / 79

Anda mungkin juga menyukai