Initiation MS Access 2010 Requêtes - Sélection (travail en autonomie) TD -- MSI 2ème Année GI filière ICL
F1 2014TD1-Etud-Notes.accdb Objectifs : La Touche 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 Sélectionner “Creer” >> Requêtes 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.
C’est parfois bien irritant au début (et même ensuite). 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 3. Exécuter Sauvegarder Ré-Exécuter Sélectionner l’attribut n°Etudiant dans 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 : calcul sur les réels, les dates, les chaines …
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 F1 détails sur 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
Requête multi-table avec jointure 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.
Requête multi-table avec jointure Résultat 2136 notes dont 111 inférieures à 8
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) sont traitées comme des tables : on peut donc les composer
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
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 ce tutoriel