Cours les Requêtes Access en Doc

Problème à signaler:


Télécharger Cours les Requêtes Access en Doc



★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Tutorial 1. Les requêtes Access

Une base de donnée permet de classer, trier et filtrer de larges quantités d'informations. Chaque logiciel de gestion (comptabilité, gestion commerciale, stock, ) est d'ailleurs une base de donnée. Vous pouvez également le faire avec un tableur de type Excel. C'est en partie vrai. Si vous êtes un utilisateur avancé du tableur, certaines fonctions peuvent sembler similaires. Néanmoins, les possibilités de Microsof

t Access sont largement supérieures dans ces domaines, surtout si vous utilisez de grandes quantités de données.

Base de donnée Access?

Maintenant que les explications préliminaires du cours Access sont acquises, intéressons nous à la base de donnée de Microsoft. Les onglets d'Access se subdivisent en 7 parties. Passons en revue les principaux.

  • Débutons par la table: elle reprend les informations brutes (non traitées): les enregistrements et les champs. 
  • Une requête permet diverses mises en forme des tables: le tri, filtre, afficher ou nom des données, … 
  • Un Formulaire permet d'afficher les tables et les requêtes d'une manière agréable. 
  • Un état permet d'imprimer des données de tables et de requêtes avec si nécessaire des regroupements et des calculs. C'est bien là la grosse différence entre Excel et Access, les calculs ne se font pas par de simples formules, mais bien par ces états d'impression. L'avantage, c'est qu'une fois que l'état est fait, tout se fait automatiquement. Le défaut, c'est de … faire ces états. Néanmoins, pour de nombreux enregistrements (plus de 500), Excel est vite dépassé, ce qui n'est pas le cas d'Access.
  • Les macros permettent d'exécuter des fonctions à partir de requêtes ou de formulaires. Nous ne rentrerons pas dans la programmation d'ACCESS dans cette formation mais utiliserons ces fonctions pour créer un formulaire d'entrée.

Page: permet de créer des pages Internet pour accéder à la base de données

1. Introduction

Dans le chapitre précédant de ce tutorial, nous avons créer des tables qui permettent de rentrer les données (les enregistrements) dans des champs délimités. Ces tables ne permettent pas de faire un tri ou un filtrage sur les enregistrements de la base de donnée Access. Cette fonction est dévolue en grande partie aux requêtes. Une requête est liée à une (ou plusieurs) tables, elle reprend ses données et les organise. Rentrer un enregistrement dans la requête ou dans la table revient donc strictement au même.

Plusieurs types de requêtes sont proposées par Access. Dans cette partie, nous nous contenterons des requêtes de tri et des requêtes de filtres. Les autres types de requêtes seront vues dans une formation plus avancée.

Ceci est une grosse différence avec Excel puisqu'un tableur permet directement de faire des tris et des filtres comme vus dans le .

Intéressons nous d'abord à la table "Contenu" créée dans le chapitre précédant. Cliquons sur le bouton requêtes. et ensuite, créez une requête en mode création. Access propose d'ajouter une table, sélectionnons "contenu" et une fois cette table ajoutée, cliquons sur le bouton "Fermer".

 

Nous avons 2 possibilités. Soit nous déplaçons le champ sélectionné vers le bas, soit nous déplaçons l'étoile vers le bas. Malheureusement, la deuxième solution, plus rapide, ne nous permet pas de travailler sur les champs. Nous devons donc déplacer tous les champs dans la partie inférieure les uns après les autres  (pour sélectionner tous les enregistrements, sélectionnez les 2 extrêmes avec la touche shift enfoncée). Nous pouvons négliger le champ "N°" qui n'est pour nous d'aucune utilité. Comme notre but est d'effectuer des tris et des filtres sur notre table, examinons cette partie inférieure. En troisième ligne, apparaît "Tri". Ceci offre la possibilité en ordre croissant ou décroissant. Faisons un tri en ordre croissant sur le classement.

Quittons notre requête et enregistrons-là sous le nom "contenu par classement". Cette requête nous a déjà permis d'éliminer des champs de l'affichage (n° dans notre cas) et de faire un trie suivant un champ (classement ici). Les requêtes nous permettrons d'autres possibilités plus tard.

A retenir: une requête Access permet de trier sur 1 ou plusieurs champs ou de n'utiliser qu'une partie des champs.

Nous savons maintenant comment trier une base de donnée suivant le contenu d'un champ. Mais comment trier suivant plusieurs champs?

La solution est simple. Vous avez remarqué en insérant les champs dans la création de la requête que vous pouviez finalement les mettre où vous voulez. Le tri se fait suivant l'ordre des champs dans la fenêtre de requête.

 

Dans l'exemple ci-dessus, le tri se fera donc d'abord par ordre croissant sur le champ "Classement", ensuite, décroissant sur Plage.

La deuxième fonctionnalité d'une base donnée Access (comme toutes les bases de données) est le filtre des informations. Nous reverrons cette notion de manière plus approfondie plus tard mais voyons déjà quelques exemples.

 

Tapons C42 dans la partie critère sous le champ classement. La requête n'affichera que les enregistrements (nos CD - DVD) dont le classement (notre numéro) est C42

 

Tapons cette fois fa*, Access rajoutera automatiquement comme"fa*. La requête n'affichera plus que les enregistrements commençants par FA. Access, au contraire de Word en publipostage, ne fait pas la distinction entre les minuscules et les majuscules.

 

Tapons maintenant comme critère *A* (Access rajoute comme "*a*). Le résultat de la requête affichera tous les enregistrements contenant a dans le champ "classement". 

Pour accepter un seul caractère, vous pouvez utiliser le ?. Dans ce cas, il faudra taper effectivement le comme "" pour accepter cette solution.

 

Dans l'exemple ci-dessus, le résultat renvoyé par la requête sera les champs commençant par une lettre ou un chiffre, suivi de la lettre a (ou A), suivi de 2 caractères indifférents, suivi du chiffre 2, soit XaXX2. Dans notre exemple, les champs de plus (ou moins) de 5 lettres ne seront pas affichés.

Vous pouvez également utiliser la ligne OU pour utiliser plusieurs filtres

Pour afficher uniquement les champs vide, il suffit de taper comme critère est null. Pour afficher uniquement les enregistrements où le champ comporte quelque chose, le critère à inscrire est N'est pas null.

  •                  >: supérieur à
  •                  <: inférieur à
  •                  <> différent de 
  •                  >= supérieur ou égal à 
  •                  <= inférieur ou égal à
  •                  = égal à

D'autres solutions seront bientôt vues mais ça va déjà nous permettre de compléter notre base de donnée.

Les solutions envisagées plus haut sont fixes. Une fois la requête créée, vous devez changer la requête pour modifier la recherche. La solution ici va permettre de poser une question sur la recherche souhaitée.

Créons une nouvelle requête en mode création (pour les requêtes, le mode assistant est peu différent). Sélectionnons la table contenu album.

Sélectionnez le premier champ de la table Access, descendez avec l'ascenseur et cliquez sur le dernier champ en maintenant la touche <shift> enfoncée. Ceci va sélectionner l'ensemble des champs. Glissons l'ensemble vers la première case "champ disponible. Ceci va transférer l'ensemble des champs vers la requête.

 

Supposons que nous désirons retrouver tous les titres chantés par un groupe ou chanteur. Dans la solution envisagée plus haut, nous devions créer une requête de type ="nom du chanteur". 

Dans la case critère sous le champ interprète, tapons [Nom de l'interprète ou groupe]. Cette méthode créé en fait un champs (non repris dans la table mais utilisé par la base de donnée Access). Enregistrons notre requête sous le nom "Recherche d'interprète" et exécutons-là

 

Automatiquement, Access va afficher une petite fenêtre demandant le nom de l'interprète, en fait, le contenu entre crochet []. Ce [contenu-champ] ne peux être identique à un champ existant et ne peux dépasser 64 caractères. 

Cette solution de filtre est déjà beaucoup plus souple, mais oblige à taper le nom de l'interprète ou du groupe musical correctement. Serait-il possible de pouvoir taper une partie du nom? Oui.

Tapons manuellement comme critère Comme "*"+[Nom de l'interprète ou du groupe]+"*". 

Passons en mode feuille en cliquant sur en haut à gauche dans la barre d'outils. Cette solution permet de vérifier la requête sans l'enregistrer.

La base de donnée Access posera la même question, mais la requête affichera tous les enregistrements dont le champ interprète contient le mot tapé. Ceci est très utile pour retrouver un client dans une base de donnée de gestion de stock par exemple.

 

Enregistrons notre requête.

    La base de donnée Access permet également des requêtes multi-critères. Comme la majorité des logiciels, Access accepte la fonction ET et la fonction OU. 

  • "critère" 1 ET "critère 2" nécessite que les 2 critères soit remplis.
  • "critère" 1 OU "critère 2" nécessite qu'au moins 1 des critère soit rempli.

Nous allons utiliser cette possibilité pour vérifier les albums sortie entre 2 dates.

Créons une requête en mode création en utilisant la table album. 

    Comme critère, sous le champ date, tapons > 01/01/2003 et à la ligne suivante: <01/01/2005. Access rajoute automatiquement les caractères #. En essayant cette requête, tous les enregistrements sont affichés??? Forcément puisque la requête utilise la fonction OU (OR en anglais). Nous devons utiliser une fonction ET. Supprimons les critères et tapons directement >01/01/2001 ET <01/01/2005. Access rajoute automatiquement les caractères de contrôles.

 

Et voilà, la requête Access affiche effectivement les albums sortis entre le 1 janvier 2001 et le 1 janvier 2005.

Nous pouvons ici aussi poser la question. Le critère devient: >[date de départ] Et <[date finale]. De fait, la requête Access demande d'abord la date de départ, ensuite la date finale recherchée.



2306