Upload
soumia-lioness-orihimie
View
240
Download
0
Embed Size (px)
Citation preview
7/24/2019 Ms Access Tables Requetes
1/40
1
Microsoft Access
7/24/2019 Ms Access Tables Requetes
2/40
1. Les tables
7/24/2019 Ms Access Tables Requetes
3/40
3
Table : structure et donnes
!Mode cration (structure)
!Mode visualisation (donnes)
7/24/2019 Ms Access Tables Requetes
4/40
4
Cration des tables ACCESS
!Deux tapes dans la cration dune table :
1. Cration de la structure de la table
2. Saisie des enregistrements (donnes) dans la table
!
Cration de la structure de la table
" consiste crer les champs (aussi appels attributs) de la table et dfinir leursproprits : format daffichage, ...
!
Saisie des enregistrements dans une table peut tre ralise :
" par la saisie directe de donnes dans le mode visualisation de donnes de la table
" par des formulaires de saisie
" par import de donnes provenant dautres fichiers : EXCEL, WORD,
" par programmation
7/24/2019 Ms Access Tables Requetes
5/40
5
Types de donnes des champs
!Texte: texte contenant au maximum 255 caractres
!
Mmo: texte contenant au maximum 65 000 caractres
!Numrique:
" Octet : entier entre 0 et 255
" Entier : entier entre - 32 768 et 32 767
"
Entier long : entier entre -2 .1010et 2 .1010
" Rel simple : rel entre -3,4 .1038et 3,4 . 1038 en prcision simple"
Rel double : rel entre -1,8 . 10308et 1,8 . 10308en prcision double
! Montaire: donne numrique comprenant au plus 4 dcimales
! Date/heure: date et heure
! NumroAuto: numro squentiel unique gnr automatiquetpar Access
!
Oui/Non: valeur logique (ou boolenne)
! Objet OLE: feuille de calcul Excel, document Word, graphique,
! Lien hypertexte: accs des objets Microsoft ou documents Internet
7/24/2019 Ms Access Tables Requetes
6/40
6
Format daffichage de la valeur dun champ
!Format: spcifie comment saffiche la valeur dun champ
"
pour les dates:jour mois anne
j: jour sur un chiffre m: mois sur un chiffre aa: anne sur 2 chiffres jj: jour sur deux chiffres mm: mois sur deux chiffres aaaa: anne sur 4 chiffres jjj: 3 car. du jour (lun,...) mmm: 3 premiers car. du mois jjjj: nom du jour (lundi,...) mmmm: nom du mois
exemple : 1er fvrier 2003
jj/mm/aa !01/02/03jjj j mmm aaaa !lun 1 fv 2003jjjj jj mmmm aaaa !lundi 01 fvrier 2003
"
pour les champs numriques :
, (virgule) sparateur dcimal
0 espace rserv un chiffre. Affiche un chiffre ou 0
# espace rserv un chiffre. Affiche un chiffre ou rien
% pourcentage. La valeur est multiplie par 100 et suivie du signe %
exemple : 360000 000 !03 600#0 000,00 ! !3 600,00 !
7/24/2019 Ms Access Tables Requetes
7/40
7
Lgendes associes aux champs
!Lgende: libell du champ utilis lors de laffichage des donnes de la table, dans
une requte, dans un formulaire ou un tat
7/24/2019 Ms Access Tables Requetes
8/40
8
Autres proprits des champs
!Valeur par dfaut: valeur propose lors de la saisie lutilisateur, que ce
dernier peut modifierexemple : champ pays pour des clients
!
Valide si: expression devant tre vrifie par la valeur du champ
exemple: code postal franais: >= 1000 et
7/24/2019 Ms Access Tables Requetes
9/40
9
!Cl (primaire) dune table: ensemble de champs de la table dont la valeur
est ncessairement diffrente pour chaque enregistrement de la table
!Pour dfinir la cl dune table :
1. Slectionner le(s) champ(s) de la cl
2. Cliquer sur:
!
Remarques :"
cause des formulaires, il est souvent plus pratique davoir une cl constitue dun seulchamp ; au besoin, crer un champ cl de type NumroAuto
Si un champ cl est de type NumroAuto dans une table correspondant une entit, ildoit tre dclar dans les autres tables correspondant des associations avec le typeEntier long (et non NumroAuto)
Cl dune table
!
7/24/2019 Ms Access Tables Requetes
10/40
10
On peut dfinir des listes droulantes dans les tables pour faciliter la saisie
!
Liste de valeurs :
!Liste d'aprs une table ou une requte :
Liste droulante dans une table
Liste des valeurs, spares pardes points-virgules
Requte gnrant la liste de
choix
7/24/2019 Ms Access Tables Requetes
11/40
11
!Relation: relie les champs communs des tables adjacentes dans le modleentit-association
! Intrt des relations :"
facilite la construction des requtes et formulaires
" fournit le schma global de la base de donnes
!Crer des relations entre des tables :1. menu Outils / Relations...
2. faire glisser le nom du champ dune table sur son quivalent dans une autre table
!
Exemple :
" avant relations
" aprs relations
Relations entre tables
7/24/2019 Ms Access Tables Requetes
12/40
12
2. Les requtes
7/24/2019 Ms Access Tables Requetes
13/40
13
Requte
!Requte : instruction donne ACCESS sur une BD pour :
" interroger le contenu dune ou plusieurs table(s)
" modifier le contenu de champ(s) dune ou plusieurs table(s)
" supprimer des enregistrements dune ou plusieurs table(s)
" ajouter des enregistrements dans une ou plusieurs table(s)
" crer une nouvelle table partir de donnes provenant dautres tables
!
Deux moyens de crer des requtes dans ACCESS :
" langage graphique dACCESS
" langage SQL
Ce document ne traite que du langage graphique dACCESS
7/24/2019 Ms Access Tables Requetes
14/40
14
Requte - exemple
!Listedescrivainsdelangueanglaise trie en ordre alphabtiquesur le nom
excution de la
requte
Requte Feuille de rponses
7/24/2019 Ms Access Tables Requetes
15/40
15
Mise en uvre dune requte
!Requte slection: requte permettant dinterroger le contenu dune ou
plusieurs tables"
ce sont les plus frquentes
" lessentiel de ce chapitre traite ce type de requte
!
Deux tapes dans la mise en uvre dune requte slection :1. Construction de la requte
2. Visualisation des rponses la requte
!La construction de la requte passe elle-mme par trois tapes :
1. Choix de la (des) table(s) sur la(es)quelle est base la requte
2. Choix des champs impliqus dans la requte
3. Dfinition des critres de slection et daffichage des donnes
7/24/2019 Ms Access Tables Requetes
16/40
16
3
1
2
4: choisir
une table5
6
Construction de la requte : choix de la (des) table(s)
!Pour une requte base sur plusieurs tables, rpter les tapes 4 et 5
!
Remarque : une requte peut tre base sur dautres requtes
7/24/2019 Ms Access Tables Requetes
17/40
17
! Grille de dfinition de la requte :
!
Champ: champ provenant dune table sur laquelle est base la requte
! Un champ peut tre utilis comme critre pour 3 raisons :
pour poser une condition sur la valeur de ce champ
exemple: on veut seulement les crivains franais
pour trier des rponses la requte
exemple: on veut la liste des crivains tris sur le prnom
pour afficher la valeur de ce champ dans la feuille de rponses
exemple: on veut la liste des noms des crivains
Construction de la requte : choix des champs
7/24/2019 Ms Access Tables Requetes
18/40
18
!Placer un champ comme critre :
!Tri: spcifie lordre daffichage des enregistrements dans la rponse la requte
" lors dun tri sur plusieurs champs, le champ le plus gauche dans la grille est le critre
primaire de tri
!Afficher: si la case est coche, la valeur du champ est affiche dans la feuille de
rponses
glisser ou
1. clic dansla cellule
2. Slectionnerle champ dansla liste propose
Construction de la requte : choix des champs (suite)
7/24/2019 Ms Access Tables Requetes
19/40
19
!Critre: condition de slection dun enregistrement
" seuls les enreg. vrifiant cette condition figurent dans la feuille de rponses
!Le critre de slection est une expression pouvant contenir :
" comparaison numrique : > < >= (!)
7/24/2019 Ms Access Tables Requetes
20/40
20
! Le critre de slection est une expression pouvant contenir (suite) :
" comparaison avec un motif : Comme"motif" o motifcontient:? un caractre quelconque
* une suite quelconque de caractres (ventuellement vide)
# un chiffre quelconque
exemple : crivains dont le nom
commence par D
" loprateur Est Nullsignifiant que le champ nest pas rempli
exemple: diteurs dont le code postal
nest pas rempli
" condition complexe utilisant des oprateurs logiques : et /ou /pas
exemple: ouvrages parus entre
1995 et 2000
Dfinition des critres de slection (suite)
7/24/2019 Ms Access Tables Requetes
21/40
21
dont le nom commence
par D et est franais
ou
dont le nom commence
par D etest de languefranaise
Dfinition des critres de slection (fin)
!La ligne Oudans la grille de requte :
!
ACCESS ralise un ouentre les lignes et un et lintrieur dune ligneexemple :
7/24/2019 Ms Access Tables Requetes
22/40
22
!Remarque : si plusieurs lignes de la feuille de rponses sont identiques, ACCESS lesduplique
" Pour viter cela : menuAffichage/Proprits- Valeurs distinctes: Oui
!
Enregistrer une requte :
" ce ne sont pas les donnes de la feuille de rponses que lon enregistre, mais la formulepermettant de les obtenir
Excuter et enregistrer une requte
excuter la re-
qute: ou
modifier larequte:
7/24/2019 Ms Access Tables Requetes
23/40
23
!Ajouter une table une requte : puis choisir une table
!
Supprimer une table dune requte :1. cliquer dans len-tte de la table
2. taper sur Suppr
Modification dune requte : ajout et retrait dune table
7/24/2019 Ms Access Tables Requetes
24/40
24
!Supprimer un champ dans une requte :
!Dplacer un champ dans une requte :
1. cliquer dans lentte du champ dplacer
2. faire glisser le champ lendroit voulu
1. cliquer dans lentte du champ supprimer (le curseur devient )
2. taper sur Suppr
Modification dune requte : suppression et dplacementdun champ
7/24/2019 Ms Access Tables Requetes
25/40
25
!Jointure entre les tables :
lorsquune requte porte sur plusieurs tables, ces tables doivent tre jointes (relies)sur les champs qui doivent tre gaux
" exemple :
!
Lorsque les champs dans les deux tables ont le mme nom, la jointure seffectueautomatiquement par Access, sinon il faut la faire manuellement
" pour joindre manuellement deux tables sur un champ, cliquer sur lun des deux champs
et le faire glisser sur lautre
Requtes portant sur plusieurs tables
7/24/2019 Ms Access Tables Requetes
26/40
26
!Si une requte comporte deux tables non adjacentes sur le modle entit-association, il faut prendre aussi toutes les tables intermdiaires et les relier
exemple: crivains ayant crit des ouvrages classs en "finances publiques"
" il est ncessaire dintroduire ECRIRE et OUVRAGE pour relier ECRIVAIN etCLASSIFICATION
Requtes portant sur plusieurs tables (suite)
7/24/2019 Ms Access Tables Requetes
27/40
27
Requte base sur une autre requte
! Il est possible de baser une requte sur une (ou plusieurs) autre(s) requte(s) :
" seuls les champs affichs dans la(les) requte(s) qui ser(ven)t de base peuvent tre
utiliss
7/24/2019 Ms Access Tables Requetes
28/40
28
Calculs dans les requtes
!Parfois, on ne veut pas afficher les enregistrements vrifiant certains critres, mais
excuter des calculs sur ces enregistrements
!Exemples :
" un champ dune table contient un prix HT et on voudrait le prix TTC
" on cherche le nombre douvrages crits par chaque crivain, ...
"
! Il est possible deffectuer des calculs dans les requtes
!Deux types de calculs :
" champ (colonne) calcul : une colonne est calcule en fonction dautre(s) colonne(s) et/ou delle-mme. Ex : prix TTC en fonction du prix HT
"
calculs sur les enregistrements (lignes) : on effectue une opration sur un ou plusieursenregistrements. Ex: nombre douvrages pour chaque crivain
7/24/2019 Ms Access Tables Requetes
29/40
29
Champ calcul dans une requte
!Un champ calcul est dfini dans la ligne Champde la grille de la requte au
moyen de lexpression : nom du champ calcul: expression de calcul
!Les expressions de calcul utilisent :
" des constantes (numriques, chanes de car., )
" des oprateurs et fonctions : +, -, *, ...
" des noms de champ placs entre [ et ]
" des fonctions Visual-BASIC
Exemple : dans la table ARTICLE(REF,PRIXHT), on veut pour chaque article, le prixTTC (TVA 19,6%)
nom du champ calcul expression de calcul
7/24/2019 Ms Access Tables Requetes
30/40
30
Champ calcul en fonction dune condition
!Lexpression de calcul peut tre une expression conditionnelle. Pour cela on utilise
la fonction VraiFaux, dont la syntaxe est :
VraiFaux(condition;valeur si vrai;valeur si faux)
" exemple : on veut pour chaque ouvrage, indiquer si cet ouvrage est une nouveaut,cest--dire sil a t publi aprs 2004
7/24/2019 Ms Access Tables Requetes
31/40
31
! Il est possible deffectuer des calculs sur un ensemble denregistrements : nombredenregistrements, somme sur un champ, valeur min. ou max., ...
!Raliser des oprations sur des enregistrements :
!
Principales oprations :"
Compte : nombre denregistrements"
Somme : somme des valeurs du champ (numrique) sur un ensemble denreg."
Moyenne : moyenne des valeurs du champ (num.) sur un ensemble denreg."
Min, Max : valeur min. et max. dans l ensemble denregistrements
# la ligne Oprationapparat
Calculs sur un ensemble denregistrements
!
3
18
Ne pas confondre Compte et Somme
exemple :
7/24/2019 Ms Access Tables Requetes
32/40
32
!
Il est possible de combiner slection et calculs sur un ensembledenregistrements :
" utiliser lopration O(tel que) pour raliser la slection
exemple : nombre dcrivains franais
Calculs et slection sur un ensemble denregistrements
7/24/2019 Ms Access Tables Requetes
33/40
33
!Regroupement: possibilit de grouper des enregistrements sur un champ dont
la valeur est identique"
exemple :
!Une fois des enregistrements regroups, il est possible deffectuer des oprationssur chaque groupe
" exemple: on cherche le nombre de dpts dans chaque ville
Regroupements denregistrements
7/24/2019 Ms Access Tables Requetes
34/40
34
Requte analyse croise
!Analyse croise:
requte prsente sous forme dune table deux (ou plus) entres, et non pasuniquement de colonnes
" exemple : tableau qui, pour chaque dpt et chaque rubrique de classification, donne laquantit douvrages en stock
rubrique de classificationr
dptd stock pour la rubrique r et le dptd
7/24/2019 Ms Access Tables Requetes
35/40
35
Cration dune requte analyse croise
!Crer une requte analyse croise :
1. crer une requte slection2. menu Requte / Analysecroise
une nouvelle ligne "Analyse" apparat
3. spcifier les champs devant apparatre en ligne, et en colonne ainsi que lexpressioncorrespondant la valeur dans dans la tableau
7/24/2019 Ms Access Tables Requetes
36/40
36
!Requte paramtre:
requte dont certaines parties peuvent tre dtermines en dehors de la requte, parexemple en interrogeant lutilisateur
!Exemple :
" lors de lexcution de cette requte :
1. Access demande la valeur du paramtre "numro de rubrique"
2. dtermine la liste douvrages dont le champ NUMRUB vaut la valeur saisie
Requte paramtre
7/24/2019 Ms Access Tables Requetes
37/40
37
!
Requte modification de donnes: modifie la valeur de certains champs
denregistrements spcifis par la requteexemple : on veut augmenter le prix des ouvrages dits chez Eyrolles de 10%
!
Crer une requte modification de donnes :
1. crer une requte slection spcifiant les enregistrements modifier
2. menu Requte / Requte mise jour; une nouvelle ligne "Mise jour" apparat
3. spcifier la nouvelle valeur dans la ligne "Mise jour"
4. visualiser les modifications : (les donnes ne sont pas modifies)
5. excuter les modifications:
les donnes sont modifies de faon
irrmdiable
Requtes pour la modification de donnes
!
7/24/2019 Ms Access Tables Requetes
38/40
38
!Requte suppression de donnes: supprime les enregistrements dune
table qui vrifient certaines conditionsexemple : on veut supprimer les ouvrages dont la rubrique de classification est 7
!Crer une requte suppression de donnes :
1. crer une requte slection des enregistrements supprimer
2. menu Requte / Requte suppression
3. visualiser les enregistrements slectionns : (les donnes ne sont passupprimes)
4. excuter les suppressions :
les donnes sont supprimes de faon
irrmdiable
Requtes pour la suppression de donnes
!
7/24/2019 Ms Access Tables Requetes
39/40
39
Requtes cration de tables
!Requte cration de table: permet de crer une table partir de la feuille
de rponses une requte"
utile pour crer des sauvegardes partielles du contenu dune BD
" la table peut tre cre dans une autre BD
!Crer une requte cration de table :
1. crer une requte slection
2. menu Requte / Requte cration de table3. nommer la table cre
4. Faire la requte de
remplissage de la
table
7/24/2019 Ms Access Tables Requetes
40/40
40
Requtes cration de tables
4. Faire la requte de remplissage de la table