240 likes | 354 Views
Initiation MS Access 2010 Requêtes - Sélection (travail en autonomie). TD -- MSI 2 ème Année GI filière ICL. 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 la plus importante.
E N D
Initiation MS Access 2010 Requêtes - Sélection (travail en autonomie) TD -- MSI 2ème Année GI filière ICL
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 la plus importante 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 F1
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
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
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
La structure des données >> Idem pour “Evaluer ” et “Matiere”
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.
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).
Enfin, créons les requêtes demandées • 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”
1ere requête simple Sélectionnerl’attributn°Etudiantdans la table “étudiant” 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
Requête simple avec calcul • 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 Attribut calculé
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 : calculsur les réels, les dates, les chaines …
Calcul avec générateur d’expression GENERATEUR d’EXPRESSION Plus de 200 fonctions à votre service : calculsur 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 F1 détailssur http://office.microsoft.com/fr-ca/access-help/creer-une-expression-HA010341590.aspx
Pour donner un format à un champ Click Droit Propriétés
Requête simple avec calcul • On veut la liste des étudiants de moins de 20 ans Résultat
Requête simple avec calcul Les dix plus jeunes étudiants et leur age Limiter le résultat à 10 entités
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
STOP 2 Requête multi-table avec jointure Les notes de chaque étudiant dans chaque matière Attention, dèsquedeux tables sontprésentesdans la requête, ACCESS effectueune jointure génération possible de résultats de grandetaille et d’erreurs.
Requête multi-table avec jointure Résultat dont 111 inférieures à 8 2136 notes
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
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
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) sonttraitéescomme des tables : on peutdonc les composer
Les requètes de sélection d’information Le Résultat Ils sont 104 : bravo à eux. • Vouspouvezmaintenant continuer et répondre aux questions demandées… • Réfléchir à la meilleurecombinaison des requètes • Utiliserjudicieusement les jointures • Utiliser le générateurd’expressions
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 F1 Fin de cetutoriel