requête simple

Download Report

Transcript requête simple

Initiation MS Access 2010
Requêtes - Sélection
(travail en autonomie)
TD -- MSI
2ème Année GI
filière ICL
L. Gzara, E. Khouri, M Tollenaere
1
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Objectifs :
- Prendre en main les requêtes dans Access
- Fichiers TD1 dans Chamilo
Base de données ACCESS 2010 exemple
2014TD1-Etud-Notes.accdb
La Touche
Si vous ne construisez pas à l'avance les relations
entre vos tables, vous devrez recommencer cette
procédure chaque fois que vous voudrez créer une
nouvelle requête. Il est donc toujours préférable
de prendre le temps de bien concevoir ses tables
et de définir les bonnes relations. De cette
manière vos requêtes seront plus faciles et plus
rapides à construire
la plus importante
L. Gzara, E. Khouri, M Tollenaere
2
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Principes généraux de l’interface
Zone de menu principal
Fichier -- Accueil – Créer – Données ext …
Zone d’icones
contextuelles
Affichage – Presse Papier –
Trier et filtrer…
Les objets
Access
Tables – Requetes –
Formulaires – Macros…
Zone de travail
Sélectionner “Outils de base de données” >> Relations
L. Gzara, E. Khouri, M Tollenaere
3
MSI 2A ICL – Initiation ACCESS Requêtes 2014
La structure de la BD
Un nouveau Menu dans la
Zone de menu principal
Outil de relation -- créer
La structure de la BD (forme graphique)
dans un onglet de la Zone de travail
Sélectionner “Creer” >> Requêtes
L. Gzara, E. Khouri, M Tollenaere
4
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Créons les requêtes demandées
Mais d’abord, examinons les contenus et la structure des tables
>> Double click sur la table “Etudiants”
Interface de navigation dans les entités
enregistrées dans la base
La table s’ouvre dans
un nouvel onglet
L. Gzara, E. Khouri, M Tollenaere
5
MSI 2A ICL – Initiation ACCESS Requêtes 2014
La structure des données
>> Idem pour “Evaluer ” et “Matiere”
L. Gzara, E. Khouri, M Tollenaere
6
MSI 2A ICL – Initiation ACCESS Requêtes 2014
La structure des données
Examinons plus finement les propriétés des attributs de chaque table
>> Menu “Accueil” >> Affichage >> Mode création
La définition des attributs
apparait dans la zone de
travail.
On est en MODE :
Création ou Structure
ATTENTION, les tables
“Etudiant” et “Evaluer”
sont toujours en MODE:
feuille de données.
L. Gzara, E. Khouri, M Tollenaere
7
MSI 2A ICL – Initiation ACCESS Requêtes 2014
STOP 1
La coexistence des MODES Création (ou Structure) et feuille
de données au même moment (soit programmation et runtime)
est une caractéristique d’ACCESS.
MAIS, dans la plupart des cas, toute modification de structure
(en MODE création) nécessite qu’aucune fenêtre “Feuille de
données” ne soit ouverte sur la même table.
C’est parfois bien irritant au début (et même ensuite).
L. Gzara, E. Khouri, M Tollenaere
8
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Enfin, créons les requêtes demandées
1.
2.
3.
4.
5.
6.
7.
le nombre total d'étudiants
la note la plus haute et la note la plus basse, parmi l'ensemble des notes
les moyennes de chaque étudiant dans chacune des matières
les moyennes par matière
la moyenne générale de chaque étudiant
la moyenne générale de la promotion
la liste des étudiants qui ont une moyenne générale supérieure de 10%
de la moyenne générale de la promotion
1. ne concerne que la table
“étudiants” (requête simple)
>> Créer >> création de requête >>
importer la table “étudiant”
L. Gzara, E. Khouri, M Tollenaere
9
MSI 2A ICL – Initiation ACCESS Requêtes 2014
1ere requête simple
1. Sélectionner l’attribut n°Etudiant dans la table “étudiant”
2. Click Droit dans la colonne
Regroupement
Totaux
Compte
3. Exécuter
Sauvegarder
La requete renvoie le
résultat.
Pour tester, ajouter 2
étudiants à la table.
Ré-Exécuter
L. Gzara, E. Khouri, M Tollenaere
10
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Requête simple avec calcul
1. On veut la liste des étudiants de moins de 20 ans
Critère de tri
Critère de sélection
Attributs résultats de la requète
L. Gzara, E. Khouri, M Tollenaere
11
Attribut calculé
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Requête simple avec calcul
Pour mettre en place la formule de calcul (ici age = fn (date naiss))
GENERATEUR d’EXPRESSION
Plus de 200 fonctions à votre service :
calcul sur les réels, les dates, les chaines …
L. Gzara, E. Khouri, M Tollenaere
12
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Calcul avec générateur d’expression
GENERATEUR d’EXPRESSION
Plus de 200 fonctions à votre
service :
calcul sur les réels, les dates, les
chaines …
Accès aux valeurs des attibuts, aux
résultats de requètes, aux valeurs des
objets Windows de l’interface
voir
détails sur http://office.microsoft.com/fr-ca/access-help/creer-une-expression-HA010341590.aspx
L. Gzara, E. Khouri, M Tollenaere
13
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Pour donner un format à un champ
Click Droit
Propriétés
L. Gzara, E. Khouri, M Tollenaere
14
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Requête simple avec calcul
1. On veut la liste des étudiants de moins de 20 ans
Résultat
L. Gzara, E. Khouri, M Tollenaere
15
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Requête simple avec calcul
Les dix plus jeunes étudiants et leur age
Limiter le résultat
à 10 entités
L. Gzara, E. Khouri, M Tollenaere
16
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Requête simple avec regroupement
Le nombre d’étudiants par région
Le nombre d’étudiants par concours
Le plus jeune étudiant
de chaque région
ATTENTION,
il faudra une jointure
L. Gzara, E. Khouri, M Tollenaere
17
MSI 2A ICL – Initiation ACCESS Requêtes 2014
STOP 2
Requête multi-table avec jointure
Les notes de chaque
étudiant dans chaque
matière
Attention, dès que deux tables sont présentes dans la requête,
ACCESS effectue une jointure
 génération possible de résultats de grande taille et d’erreurs.
L. Gzara, E. Khouri, M Tollenaere
18
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Requête multi-table avec jointure
Résultat
2136 notes
L. Gzara, E. Khouri, M Tollenaere
19
dont 111
inférieures à 8
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Les étudiants qui n’ont pas de note <8
Les notes inférieures à 8 et les
étudiants auxquels elles
appartiennent
Jointure de la requète précédente
et de la Table des étudiants
L. Gzara, E. Khouri, M Tollenaere
20
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Les étudiants qui n’ont aucune note <8
(Fin)
Jointure de la requète
précédente et de la
Table des étudiants
Attention : jointure
Gauche
Click Droit
On élimine les
étudiants qui ont des
notes <8
L. Gzara, E. Khouri, M Tollenaere
21
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Les étudiants qui n’ont pas de note <8
Le code SQL généré automatiquement par Access
SELECT Etudiant.N°Etudiant, Etudiant.Nom, Etudiant.Prenom
FROM Etudiant LEFT JOIN [Etud-Notes-Inf8]
ON Etudiant.N°Etudiant = [Etud-Notes-Inf8].N°Etudiant
WHERE ((([Etud-Notes-Inf8].N°Etudiant) Is Null));
Les requètes (Etud-Notes-Inf8) sont traitées comme des tables :
on peut donc les composer
L. Gzara, E. Khouri, M Tollenaere
22
MSI 2A ICL – Initiation ACCESS Requêtes 2014
Les requètes de sélection d’information
Le Résultat
Ils sont 104 : bravo à eux.
Vous pouvez maintenant continuer et répondre aux questions demandées…
• Réfléchir à la meilleure combinaison des requètes
• Utiliser judicieusement les jointures
• Utiliser le générateur d’expressions
L. Gzara, E. Khouri, M Tollenaere
23
MSI 2A ICL – Initiation ACCESS Requêtes 2014
A vous …..
3- la durée entre la première et la dernière épreuve de la période
4- les moyennes de chaque étudiant dans chacune des matières
5- les moyennes par matière
6- la moyenne générale de chaque étudiant
7- la moyenne générale de la promotion
8- la liste des étudiants qui ont une moyenne générale supérieure
de 10% de la moyenne générale de la promotion
N’oubliez pas
Fin de ce tutoriel
L. Gzara, E. Khouri, M Tollenaere
24
MSI 2A ICL – Initiation ACCESS Requêtes 2014