Cours Access 1
Cours Access 1
Cours Access 1
La fentre Base de donnes permet de passer aux listes des tables, aux requtes, aux formulaires.....en cliquant sur
les boutons correspondants.
Dans chacune de ces listes, on peut crer un nouvel objet, modifier un objet existant, ou ouvrir
C'est le noeud de Access.
Lorsqu'on est en cration ou modification de table, requte, formulaire ou tat, on peut visualiser la feuille de
2. Prsentation de Access
Dans ce chapitre, vous allez travailler sur une base de donnes qui na quune table, ce qui nexiste pas dans la
ralit, mais cela permettra de prsenter les requtes, formulaires et tats en ny ajoutant pas de difficults
conceptuelles.
Fermer cette table (ou passer en feuille de donnes) en l'enregistrant sous le non PERSONNEL (ceci n'est pas un
nom de fichier)
Rpondez OUI
La table adhrents est dsormais dans la liste des tables de la base travail1
Ouvrir cette table en double cliquant dessus ou en utilisant le bouton Ouvrir
Elle souvre en mode feuille de donnes
Se placer en mode feuille de donnes sur la champ sur lequel porte la recherche
Chercher la fiche de Ginette dont on ne connat pas le nom
Se placer dans la colonne des prnoms
Menu Edition Rechercher
Access 2000 5
Le pointeur se place sur le premier enregistrement dont le prnom est Ginette, sil en a dautres on y accde avec le
bouton suivant.
Permet de mettre jour des enregistrements (aussi bien en mode feuille de donnes quen mode formulaire).
Ouvrir la base de donnes EXO1.MDB. Elle est constitue uniquement de la table EMPLOYES
Cliquer sur requte
Pour crer une nouvelle requte : bouton nouveau puis Mode Cration
Ou bien double cliquer sur Crer une requte en mode cration
Il ny a quune table dans la base, donc la requte ne
peut porter que sur la table EMPLOYES
Cliquer sur Ajouter puis fermer
Dans les critres de slection, il est possible d'utiliser des caractres gnriques :
L'astrisque (*) et le point d'interrogation (?) sont des caractres gnriques.
Une fois dans la feuille de rponses dynamique, permet de revenir la cration de requte.
En fermant la requte, on peut l'enregistrer.
Cest bien la requte qui est enregistre et pas la feuille de rponse.
Si la table sur laquelle porte une requte est modifie, la feuille de rponses n'est pas mise jour si la table n'est
pas ferme, si les enregistrements rpondant au critre sont les mmes, ils sont mis jour dans la feuille de
rponses.
Si les enregistrements rpondant au critres ne sont plus les mmes, pour que la slection des enregistrements soit
de nouveau effectue partir de la table modifie, il faut fermer la requte et la rouvrir pour quelle soit excute
de nouveau. (Actualiser du menu Enregitrements ne produit pas le mme effet)
Donc dans le cas gnral : il faut fermer la table, fermer la requte puis de nouveau ouvrir la requte
Il est possible de modifier des enregistrements ou de crer des enregistrements dans une feuille de rponses
dynamique, il y aura mise jour dans la table lors de la fermeture de la requte, mais en principe, c'est en utilisant
un formulaire qu'on effectue la saisie (ce fomulaire pourra dailleurs tre bas sur une requte).
Conclusion : pour que les mises jours soient effectues et que ce qu'on voit corresponde l'tat rel de la
base, il faut fermer systmatiquement ce dont on n'a plus besoin.
2.3.1 Exercices
Base utilise : exo1
(Pour vrifier vos rsultats, la table EMPLOYES est la page suivante)
5. Les noms, prnoms, diplmes et salaire des personnes dont le salaire est suprieur ou gal 10000 F et qui ne
travaillent pas plein temps
6. Les noms, prnoms et tlphone des secrtaires et des employs de bureau tris par titre croissant
7. Les noms prnoms services et tlphone de toutes les personnes. Cette liste devra tre trie par ordre croissant sur
le service, et lintrieur dun service, par ordre alphabtique sur les noms.
PLEI ANNEE
DIPLO N S CODE
NOM PRENOM SERVICE TELEPHONE SPECIALITE DATE DEBUT SALAIRE TITRE ADRESSE1 ADRESSE2 VILLE
ME TEM EXPERI POSTAL
PS ENCE
Adam Jacques DIRECTION 620202 COMMERCE 02/02/1996 BAC Oui 10 000,00 F VENDEUR 5,00 17, rue du Apt. 4302 Bourges 18000
Calvaire
Andrieux Cline DIRECTION 180545 ADMINISTRATION 04/04/1986 Oui 6 000,00 F EMPLOYE BUREAU 2,00 8, rue Messager Saint Marcel 27200
Arthon Claude VENTES 346565 COMMERCE 06/03/1985 Oui 12 500,00 F VENDEUR 3,00 51, rue du Port Nice 06000
Bellot Monique DIRECTION 681452 ADMINISTRATION 06/06/1994 BAC Oui 6 100,00 F SECRETAIRE 1,00 5, rue Pgoud Lanvollon 22290
Bichonet Raynald VENTES 912451 COMMERCE 01/11/1995 BAC Non 8 000,00 F VENDEUR 4,00 13, rue Corot Perpignan 66000
Camaretti Linda VENTES 334215 COMMERCE 01/12/1996 Non 7 200,00 F VENDEUR 3,00 47, av H. Evreux 27000
Barbusse
Cohen Daniel VENTES 323321 COMMERCE 08/09/1995 BAC Oui 10 000,00 F VENDEUR 3,00 33, rue Lafont Rsidence 'La Ris-Orangis 91130
25, rue
F t'
Colin Claire VENTES 635748 COMMERCE 13/04/1985 Non 7 800,00 F VENDEUR 3,00 Mrignac 33700
Monteaux
Daniel Dominique VENTES 485216 COMMERCE 11/11/1994 BAC Oui 10 000,00 F VENDEUR 3,00 Bld de la Marseille 13000
Cannebire
De Lacour Pierre VENTES 725013 COMMERCE 02/02/1983 BC Oui 10 000,00 F VENDEUR 3,00 147, rue de Paris Apt. 113 Dunkerque 59140
Dehu Danielle DIRECTION 025402 ADMINISTRATION 12/04/1993 Oui 7 250,00 F SECRETAIRE 3,00 10, av Lon Honfleur 14600
Blum
Diener Rmi DIRECTION 650103 ADMINISTRATION 05/05/1985 BTS Oui 24 500,00 F CHEF DE SERVICE 3,00 41, av de Itteville 91760
Bretagne
Drapron Maurice VENTES 621587 COMMERCE 04/04/1982 Non 8 400,00 F VENDEUR 3,00 16, rue J. Caen 14000
Rostand
Dratin Caroline VENTES 554681 COMMERCE 08/08/1991 Non 7 200,00 F VENDEUR 3,00 78, rue du Pont Apt. 3303 Nogent 52800
Ebrard Michelle VENTES 659512 COMMERCE 07/07/1991 Oui 10 000,00 F VENDEUR 3,00 Bote Postale 55 Echouboulai 77830
El Chto Aldo DIRECTION 852514 ADMINISTRATION 10/10/1992 Oui 5 250,00 F EMPLOYE BUREAU 3,00 65, rue des Tarascon 13150
Joncs
Garnier Grard DIRECTION 365247 ADMINISTRATION 05/03/2000 Oui 6 125,00 F EMPLOYE BUREAU 3,00 18, av de la Damgan 56750
Reine
Gilardi Ren DIRECTION 326436 ADMINISTRATION 18/07/1980 ING Non 28 000,00 F VICE-PRESIDENT 3,00 2, rue C. Pguy Montpellier 34000
Gilbert Charles VENTES 634578 COMMERCE 05/04/1984 Oui 10 000,00 F VENDEUR 3,00 10, rue C. Neuvy le Roi 37370
Bernard
Goumont Victor DIRECTION 243060 ADMINISTRATION 01/11/2000 ING Oui 29 500,00 F VICE-PRESIDENT 1,00 63, rue des Tour H Pontorson 50170
Rossays
Hamilton Marie DIRECTION 642785 ADMINISTRATION 13/02/1985 Oui 5 750,00 F EMPLOYE BUREAU 5,00 Avenue de Pussay 91740
Melun
Hamoun Robert VENTES 992513 COMMERCE 02/03/1982 BAC Non 8 200,00 F VENDEUR 3,00 39, rue Jean Apt. 230 Hornaing 59171
Jaurs
Johnson Josette VENTES 351247 COMMERCE 19/06/1983 BC Oui 10 000,00 F VENDEUR 7,00 12, rue du Pont Le Havre 76700
Joudoux Michel VENTES 332452 COMMERCE 01/11/2000 Oui 7 500,00 F VENDEUR 4,00 12, rue Saint Apt. 1312 Ribrac 24600
Martin
Kermadec Josette DIRECTION 662148 ADMINISTRATION 18/03/1993 Oui 8 250,00 F SECRETAIRE 5,00 69, rue du Apt. 1201 Pegomas 06580
Village
Kermadec Jean-Luc VENTES 521346 COMMERCE 11/09/1991 BAC Oui 12 500,00 F VENDEUR 3,00 69, rue du Apt. 1201 Pegomas 06580
Village
Kodia Maryse VENTES 576621 COMMERCE 05/03/2000 Non 7 800,00 F VENDEUR 4,00 Rsidence les Villa Lucie Tigery 91100
Cdres
Larsonnier Ludovic VENTES 053434 COMMERCE 01/02/1996 Non 8 150,00 F VENDEUR 1,00 25, Grande Rue Fontaine 38600
Larcher Jol VENTES 264578 COMMERCE 13/12/2000 Non 8 600,00 F VENDEUR 3,00 24, rue R. Dreux 28100
Rolland
Lisnard Michel VENTES 541234 COMMERCE 05/05/2000 Oui 10 000,00 F VENDEUR 3,00 2, avenue du Paris 75014
Maine
Access 2000 9
PLEI ANNEE
DIPLO N S CODE
NOM PRENOM SERVICE TELEPHONE SPECIALITE DATE DEBUT SALAIRE TITRE ADRESSE1 ADRESSE2 VILLE
ME TEM EXPERI POSTAL
PS ENCE
Longchamp Eric VENTES 986574 COMMERCE 12/06/1985 Oui 10 000,00 F VENDEUR 1,00 29, rue de Apt 120 Pont St 30130
l'Yvette
3, rue des
E it
Longchamp Andr VENTES 586215 GESTION 18/08/1983 Oui 12 500,00 F VENDEUR 3,00 Lourdes 65100
Oiseaux
Louis Estelle VENTES 364455 COMMERCE 09/08/1992 Non 9 050,00 F VENDEUR 2,00 4, Grande Rue Nersac 16550
Michel Hlne VENTES 841233 GESTION 17/03/1986 Oui 12 500,00 F VENDEUR 4,00 1, av du Dampierre 78720
Luxembourg
Montovan John VENTES 653354 COMMERCE 09/09/1996 Non 8 100,00 F VENDEUR 5,00 44, rue Gabriel Tigery 91100
Pri
Naudin Jean DIRECTION 348522 ADMINISTRATION 12/10/1991 ING Oui 26 000,00 F CHEF DE SERVICE 7,00 66, rue de Seine Hrouville 14200
Orlando Sylviane VENTES 326489 COMMERCE 24/04/1986 Oui 11 000,00 F VENDEUR 6,00 91, Route Pacy sur 27120
Nationale
7, av de
E
Petit Pierre VENTES 690641 COMMERCE 15/05/2000 Non 7 400,00 F VENDEUR 2,00 Nans les 83860
Verrires
54, rue du
Pi
Planchais Vincent VENTES 234582 COMMERCE 10/11/1992 BTS Non 18 500,00 F CHEF DE SERVICE 4,00 Apt. 303 Corte 20250
Progrs
Portier Vincent VENTES 334578 COMMERCE 13/10/1983 Oui 10 000,00 F VENDEUR 1,00 57, rue de Le Vsinet 78110
Chatou
Ricard Genevive VENTES 361524 COMMERCE 19/12/1985 Oui 10 000,00 F VENDEUR 7,00 112, avenue Rouen 76000
Carnot
Roustand Philippe VENTES 213347 COMMERCE 28/05/1996 Oui 10 000,00 F VENDEUR 5,00 312, rue de Paris 75001
Rivoli
Samson Ginette VENTES 348522 GESTION 23/03/1986 Oui 22 500,00 F CHEF DE SERVICE 9,00 45, av du Saint Omer 62500
Chteau
Soubire Jean VENTES 694572 COMMERCE 22/02/1993 Non 8 700,00 F VENDEUR 4,00 7, sq La Bruyre Apt. 501 Dole 39100
Ysengrin Daniel VENTES 336514 GESTION 24/04/1986 Oui 12 500,00 F VENDEUR 2,00 14, rue des Bois Nouvion 80860
Yvanoff Nicolas VENTES 621455 COMMERCE 25/11/2000 Non 8 200,00 F VENDEUR 3,00 52, rue du Noyer Vernon 27200
Zimmermann Patrick DIRECTION 670685 ADMINISTRATION 01/01/2001 ING Oui 39 750,00 F PRESIDENT 13,00 16, avenue La Baule 44500
Joffre
2.4 Crer un formulaire
Un formulaire est un objet dans lequel vous placez des contrles servant la saisie, l'affichage et la modification
des donnes dans les champs.
Un contrle est un objet graphique, par exemple une zone de texte, un cadre d'objet indpendant, que vous placez
dans un formulaire ou un tat pour afficher des donnes, excuter une action ou faciliter la lecture du formulaire ou
de l'tat.
Choisir
Justifi
On obtient :
Access 2000 11
Contrles de Contrles
type de type
tiquette zone de
texte
donne
On peut crer une tiquette sans qu'elle soit associe une zone de texte.
Le contrle Zone de texte affiche des donnes consistant en texte, en nombres ou en symboles dans un formulaire
ou un tat. Vous pouvez utiliser les zones de texte pour saisir ou modifier des donnes, afficher des informations
provenant d'une table ou d'une requte sous-jacente, ou encore pour afficher des valeurs calcules partir
d'expressions.
Les contrles peuvent tre dplacs et redimensionns, la distance entre les tiquettes et les zones de texte peut tre
modifie.
poigne qui permet de poigne pour dplacer la zone En cliquant sur une "grosse"
dplacer l'tiquette NOM (seule) de texte NOM (seule) poigne le pointeur de la souris
se transforme en doigt : on peut
dplacer la zone de texte ou
l'tiquette indpendamment l'une
de l'autre.
En cliquant sur le contrle zone
de texte, le pointeur de la souris
se transforme en main : on peut
8 poignes pour redimensionner
dplacer les 2 contrles
le contrle zone de texte
ensemble.
12 Access 2000 V. Nret
2.5 Trier
Pour effectuer un tri simple
En mode Formulaire, se placer dans le champ sur lequel s'effectuera le tri. En mode Feuille de donnes, se placer
dans la colonne sur laquelle s'effectuera le tri.
2.5.1 Exercice
Crer un formulaire dans lequel les employs seront classs par ordre alphabtique croissant sur les services, et par
ordre alphabtique croissant sur les noms lintrieur dun service.
Dans ce formulaire, tous les champs doivent apparatre.
Choix de la
table ou de la
requte
Dans la bote de dialogue suivante, pas de regroupement, cliquer directement sur le bouton SUIVANT
14 Access 2000 V. Nret
Donner un titre ltat : EMPLOYES par service et ordre d'arrive dans l'entreprise
Ce titre saffichera en haut de ltat et sera par dfaut le nom de ltat lui-mme
On obtient :
ferme la fentre Aperu pour revenir en modification d'tat. Laperu est la seule solution pour visualiser
un tat avec les donnes.
Access 2000 15
Aperu en droulant la liste on peut choisir entre Aperu du format et aperu avant impression
En mode cration on a :
Apparat une
seule fois en
dbut de ltat
En haut de chaque
page de ltat
Pour chaque
enregistrement, les
contenus de ces
champs seront
affichs
Apparat en bas de
chaque page
Pour modifier ou dplacer plusieurs contrles la fois, faire une marquise de slection (un rectangle qui les
contient) pour les slectionner tous en mme temps, ou bien maintenir la touche Majuscule enfonce en cliquant
sur le 2me contle (idem pour les suivants)
Exercice : crer un tat qui ne concerne que les personnes qui n'ont pas de diplme et qui affiche les noms,
prnoms, service et date dbut de toutes les personnes sans diplme, en les classant par service et lintrieur dun
service par ordre de date dentre dans lentreprise.
16 Access 2000 V. Nret
Exemples
Choisir TITRE comme niveau de regroupement (tous les enregistrements ayant le mme TITRE seront regroups)
Access 2000 17
On obtient :
En mode cration, on a :
Access 2000 19
Saffiche au
dbut de chaque
groupe
Saffiche la
fin de chaque
groupe
Vous pouvez dfinir la proprit Format pour crer des formats personnaliss dans des champs Texte et Mmo en
utilisant des symboles spciaux. La proprit Format utilise les symboles suivants pour dfinir des types de
donnes texte et mmo :
Symbole Description
@ Caractre de texte (soit un caractre, soit un espace) requis.
& Caractre de texte non requis.
< Force tous les caractres tre en minuscules.
> Force tous les caractres tre en majuscules.
DAVOLIO davolio
Davolio davolio
=Ent((Maintenant()-[DATE DEBUT])/365)
Attention, mme si on donne (comme ci-dessus) un nom un contrle contenant une expression dans la section
dtail dun tat, on ne cr pas un champ calcul : en particulier, on ne pourra pas calculer la moyenne des
anciennets en utilisant lexpression =moyenne([ANCIENNETE]). ANCIENNETE nest quune variable qui prend
successivement diffrentes valeurs. Pour crer un champ calcul, il faudra le faire dans une requte ou un
formulaire.
Cest pourquoi si on veut calculer la moyenne des anciennets dans la section Pied de groupe SERVICE, on devra
revenir la dfinition du champ DATE DEBUT :
=MOYENNE(Ent((Maintenant()-[DATE DEBUT])/365))
Conclusion : mme si cest possible, il nest pas trs intressant de crer un contrle calcul dans la section dtail
dun tat.
Dans Word, on insre les champs de fusion qui correspondent aux champs de la requte ADRESSES
22 Access 2000 V. Nret
Dans la table Produits, la cl primaire sera Dans la table Catgories, la cl primaire sera
pro_Rf produit cat_Code catgorie
Pour dfinir la cl primaire, se placer sur la champ qui sera la cl primaire ( en mode modification de table) et
cliquer sur
La table devient :
Les 2 tables seront mises en relation par lintermdiaire des champs pro_Code catgorie et cat_Code catgorie
Cest une relation 1 plusieurs. Un numro de catgorie nexiste quune fois dans la table Catgories, mais peut
apparatre dans plusieurs enregistrements de la table Produits. On dira que cest une relation (1,N).
Catgories est en relation (1,N) avec Produits
Ces 2 champs doivent avoir des types compatibles cat_Code catgorie est un compteur et pro_Code catgorie est
un entier long.
Access 2000 23
Pour mettre les 2 tables en relation : Dans la fentre Base de donnes; Menu Outils / Relations
Ajouter les tables :
Catgories et Produits
On obtient :
3.4.2 Exercices
Exercice 1 : Crer un requte qui affiche pour chaque produit les champs suivants : nom, unit en stock, socit et
ville du fournisseur.
Access 2000 25
Exercice 2 : Crer un tat qui affiche les nom, units en stock des produits en les regroupant par fournisseur, en
indiquant galement la ville du fournisseur.
..
Ce champ apparatra dans la feuille de donnes, mais aussi dans les requtes, formulaires et tats bass sur cette
requte.
Aide : Il est construit en utilisant lassistant cration dtat en prenant des champs dans la requte dans laquelle on
a cr le champ calcul et dans les tables Fournisseurs et Catgories. 2 niveaux de regroupement : Les noms des
catgories et les noms des fournisseurs.
Important Si vous ajoutez des enregistrements dans une table qui comporte un champ NumAuto, n'incluez pas ce
dernier dans votre requte si vous souhaitez que Access renumrote les champs ajouts. Incluez-le dans la requte
si vous voulez conserver les valeurs originales du champ. Cependant, en cas de doublon, Access n'ajoute pas les
enregistrements.
Pour visualiser auparavant les enregistrements qui seront supprims, crer la requte slection correspondante ,
cest dire qui affiche tous les champs avec comme critre de slection dans la colonne DATE DEBUT<1/1/90
Afficher la feuille de rponse dynamique puis revenir en mode modification de requte
Puis Menu Requte / Supprimer une requte (il faudrait plutt lire Requte Suppression, la requte slection se
transforme en requte suppression)
Pour visualiser auparavant les enregistrements qui seront modifis (c'est plus prudent !), on peut galement crer
une requte slection puis la transformer en requte mise jour.
Il nest pas indispensable denregistrer une requte action (sauf videmment si elle doit tre excute
rgulirement)
Requte / Nouveau
Assistant Analyse croise
3) Choix des intituls de colonnes 4) Choix des calculs : ici comptage de personnes (cest dire
de noms)
32 Access 2000 V. Nret
On obtient :
Laisser 1 coch
Puis OK
Puis Crer
On obtient :
Crer une requte LISTE1 pour afficher les donnes provenant des 2 tables :
On obtient :
Crer une nouvelle requte LISTE2 pour afficher les donnes provenant des 2 tables .
Il faut crer une nouvelle requte car les proprits de la relation dans la requte sont par dfaut celles dfinies au
niveau des tables, donc dans la requte LISTE1 les proprits de la jointure sont de type 1 (et ne seront pas
modifies lors du changement de type de jointure sur les tables) ; on pourrait galement modifier les proprits de
la jointure localement la requte LISTE1.
On obtient :
On peut galement supprimer ou ajouter nimporte quel enregistrement dans chacune des 2 tables.
Crer une nouvelle requte LISTE3 pour afficher les donnes provenant des 2 tables :
On obtient :
Si les donnes sont dj saisies et violent les rgles dintgrit, on ne peut pas cocher Appliquer lintgrit
rfrentielle .
Il est prfrable de choisir cette proprit de la jointure avant la saisie des donnes.
Supprimer Dupond de la table ADRESSES (dont le codepostal nexiste pas dans la table PTT) pour pouvoir
appliquer lintgrit rfrentielle.
De mme faire afficher les feuilles de rponse dynamique correspondant aux requtes LISTE2 et LISTE3
En supposant que
lentreprise a t cre le
1/1/80
Aprs avoir fait toutes ces modifications au niveau de la table, ouvrir le formulaire cr prcdemment : il na pas
chang.
38 Access 2000 V. Nret
Crer un nouveau formulaire (en utilisant lassistant, avec tous les champs de la table et laffichage sous forme
justifi .
Cette fois les modifications faites dans la table sont galement effectives dans ce formulaire.
Conclusion : Les formulaires, les tats, les requtes hritent des proprits des tables, condition que ces
proprits soient dj dfinies lors de la cration des requtes, formulaires, et tats.
Il est donc prfrable de dfinir soigneusement les proprits des champs lors de la cration des
tables, avant de crer des requtes, formulaires et tats.
Le formulaire
principal affiche
un enregistrement
de la table des
catgories.
Le sous
formulaire affiche
les produits de la
catgorie affiche
dans le formulaire
principal
Crer un nouveau formulaire en utilisant lassistant, bas sur les tables Catgories et Produits
Prendre tous les champs de chacune des tables
Access 2000 39
On peut galement crer un formulaire (avec sous-formulaire) en crant dabord le sous formulaire puis en le
faisant glisser vers le formulaire principal en cours de cration. Il faut ensuite modifier les proprits Champ pre
/ champ fils du formulaire principal et afficher en feuille de donnes pour le sous-formulaire.
Ajouter le champ
manquant