Université Stendhal - Grenoble Access: les requêtes Alexia Blanchard Université Stendhal - Grenoble alexiablanchard@gmail.com
Les requêtes de sélection Définition: elles servent à afficher uniquement certains données contenues dans les tables selon certains critères. Elles permettent également de faire des calculs et des regroupements. Elles ressemblent beaucoup aux filtres, mais permettent entre autres, de travailler sur plusieurs tables simultanément. -Sélection de certains enregistrements - a chaque fois qu’on lance requête, réponse recalculée-->tient compte des mises à jr éventuelles de la base.
Elaboration d’une requête Raisonnement: De quelles informations ai-je besoin? Dans quelle(s) table(s) se trouvent-elles? Quels sont mes critères? Dans quel ordre dois-je faire apparaître les réponses (tri)? Quels sont les champs que je veux voir afficher au niveau de la réponse?
Elaboration d’une requête Dans la fenêtre principale d’Access, cliquez sur l’onglet « Requêtes », puis sur le bouton « Nouveau » Mode création: on crée la requête de A à Z.
Elaboration d’une requête On peut faire une requête sur le résultat d’une autre requête (onglet…).
Elaboration d’une requête Tables avec listes de leurs champs *: tous les champs Description de la requête
Elaboration d’une requête Requête: liste des clients habitant à Saint-Quentin Dans table: tous les chps apparaitront ds le resultat de la requete Pr ajouter un champ: liste deroulante ou deplacae du champ sur la table vers la cellule choisi. Pr executer la requete, on clique sur l’icône « ! »
Elaboration d’une requête Résultat de la requête sous la forme d’une table, modifiable… Résultat sous forme d’une table, que l’on peut modifier comme s’il s’agissait d’une table normale, on peut ajouter des enr., les modifier, faire des filtres… ATTENTION:même si sous forme de table, ne sont pas de véritables tables. Ils ne sont qu’une « vue » faire à partir de stables de la bd. Donc si modification ds table de résultat, répercussion sur les tables de la bd qui ont servi à faire cette requête.
Elaboration d’une requête Opérateurs possibles pour les critères:
Elaboration d’une requête Requête multi-critères: on peut avoir plusieurs critères, certains étant séparés par des ET ou des OU. Même principe que le ET/OU d’Excel…
Elaboration d’une requête Liste des clients s’appelant Dupont et vivant à Paris Pas besoin d’afficher la ville vu qu’on sait que c’est forcément Paris! Même chose d’ailleurs pour Non, mais c’est mieux d’avoir un affichage NOM-Prénom ds résultat.
Elaboration d’une requête Liste des clients habitant Paris ou Saint-Quentin
Elaboration d’une requête En règle générale: Si 2 critères sont séparés par des ET, on les place sur la même ligne, Si 2 critères sont séparés par des OU, on les place sur des lignes différentes.
Requête paramétrée Ex: liste de tous les clients qui habitent dans une ville, mais on veut entrer nous même la ville… Permet de ne as expliciter les critères directement dans la requête. Ici on connaît pas par avance la ville en question, et on veut pas préparer autant de requêtes qu’il y a de ville! Préférable de demander à l’utilisateur (celui qui va utiliser requête plus tard) de rentrer lui-même la ville.
Requête paramétrée
Requête paramétrée
Relations entres tables
Définition Une bd: plusieurs tables pour structurer l’information. Nécessité de relier ces informations entre elles. Il existe différentes relations (cardinalité) entre les tables: Relation 1 à 1 Relation 1 à plusieurs Relation plusieurs à plusieurs Exemple: gestion d’une collection de CD…au tableau Façon 1: une table: collection-->Nom auteur, PrénomAuteur, Titre Album, Année, Genre Façon 2: 2tables: Auteurs-->Nom, Prénom, Date de naissance et Albums-->Titre, Année, genre -->si modif d’infos sur auteur, une seule fois, en comparaison ac 1ère façon (non redondance d’infos) Faut les relier…d’abord 1 à 1, ac notion de clé primaire et clé étrangère. Puis 1-n: -->diapo suivante
Relations entre tables La relation de type « un à plusieurs »: 1-n Un auteur-->plusieurs livres
Relations entre tables Exemple: Clé primaire Clé étrangère Par convention clé primaire: souligné-->identifier de façon unique chaque enregistrement Clé etrangère: #avant
Relations entre tables La relation de type « plusieurs à plusieurs »: n-n Pour ce faire, scinder la relation en deux relation: une relation « un-plusieurs » et une relation « plusieurs-un » Un auteur-->plusieurs livres
Relations entre tables Exemple: un album peut avoir plusieurs auteurs
Relations entre tables Exemple: un album peut avoir plusieurs auteurs Donner des ex d’enregistrements
Relations entre tables
Créer une relation OUTILS-> Relation Si les 2 tables ne sont pas affichées, faire RELATION Afficher une table…. Faire glisser le champ clé de la table A vers le champ correspondant de la table B (les 2 champs doivent avoir même type et même taille). Dans la boite de dialogue qui récapitule les éléments de la relation, cocher Appliquer l'intégrité référentielle Cliquer sur Créer puis Enregistrer. Intégrité référentielle : Access propose un contrôle systématique des manipulations sur les enregistrements pour éviter des incohérences graves telles que d'avoir des enregistrements dans la table B "tentant" de correspondre à un enregistrement inexistant dans la table A. Ce contrôle s'appelle "intégrité référentielle" Ex : interdire d'avoir des livres empruntés dans la table EMPRUNT (table B) par un adhérent qui a été supprimé dans la table ADHERENTS (table A).
Créer une relation La relation sera rendue possible grâce à la présence de 2 champs identiques (même nom, même type, même taille) dans les 2 tables. Dans une des deux tables, ce champ commun sera la clé primaire. La relation permettra alors de rassembler les enregistrements des 2 tables à l'aide de leur champ commun et de faire des interrogations sur des données figurant dans les 2 tables.
Supprimer une relation OUTILS Relation Cliquer sur le trait de la relation (qui est mis en gras) Taper sur la touche Suppr
Requêtes multi-tables
Exemple Liste des clients ayant commandé la produit n°1 Quand on crée une requête, Access vs demande les tables à utiliser ds la bd. Icône qui permet d’afficher la liste des tables
Exemple Toutes les tables intervenant dans la requête doivent être liées entre elles. Il ne doit pas y avoir de tables n’ayant rien à voir avec la requête.
Annexe
Bd COMPTOIR simplifiée….