Support Microsoft Access
Share
Explore
Procédures

icon picker
Requêtes

Présentation

Une requête permet d'interroger et de manipuler des données.
Une requête est codé en SQL (), mais grâce à l'interface graphique de type QBE () d'Access, nous n'avons pas besoins de saisir ce code SQL : les manipulations graphiques sont traduites en SQL.
En mode Création de requête, on choisit les tables et les champs que l'on souhaite afficher dans le résultat. On met en place également des filtres et des tris. En mode Affichage de requête, le résultat d'une requête se présente exactement comme une Table, avec ses lignes et ses colonnes.
Aucune donnée n'est stockée dans la requête, seul le code SQL est stocké. Supprimer une requête revient donc à supprimer ce code SQL, et en aucun cas des données.
Le langage SQL permet également de créer des tables, des index et des champs, ce que l'on appelle la partie LDD (Language de Définition de Données). Access permet de réaliser ces opérations dans un einterface graphique, nous n'abordons donc pas cette partie ici. Cf. la .

Manipulations

Création d'une requête

Onglet Créer > Création de requête
Dans la boite Afficher la table, double-clic sur les tables que l'on souhaite ajouter, puis Fermer.
Vous pouvez aussi faire glisser les tables ou les requêtes depuis le volet Base de données (à gauche de l'écran)
Choisir le type de requête (Cf. infra).
Faire glisser les champs depuis une table OU sélectioner un champ dans la grille sur la ligne Champs.
Ligne Tri de la grille : sélectionner Croissant ou Décroissant ou (non trié)
Ligne Afficher : cocher pour afficher le champ dans le résultat de la requête
Ligne Critère : saisir une .
Afficher le résultat de la requête, en cliquant sur le bouton Affichage :
image.png
Revenez au Mode Création en cliquant sur le bouton Création :
image.png
Enregistrer la requête (CTRL + S)

Gestion des requêtes

Pour ouvrir une requête en affichant immédiatement le résultat, double-cliquer dessus (ou Entrée)
Pour ouvrir une requête directement en mode Création, Clic droit > Mode Création (ou CTRL + Entrée)
Pour renommer une requête, la fermer puis Clic droit > Renommer (ou F2)
Pour supprimer une requête, la fermer puis Clic droit > Supprimer (ou Suppr)

Modes d'affichage

Le bouton Affichage (onglet Accueil) affiche 3 modes d'affichage.
image.png
Le Mode Feuille de données affiche le résultat de la requête.
Le Mode SQL affiche le code SQL de la requête. Bien que la plupart des manipulations de requêtes puissent être faites sans modification du contenu, il peut parfois être plus pratique de modifier directement le code SQL.
Le Mode Création permet d'accéder à l'interface QBE de modification de la requête.
Un clic sur le bouton Affichage permet de basculer entre le Mode Feuille de données et Mode Création.

Sources d'une requête

Une requête peut avoir pour source :
1 table
plusieurs tables
1 autre requête
plusieurs autres requêtes
des tables et des requêtes

Relations entre source

Quand une requête a plusieurs tables/requêtes comme source, des relations doivent être prévues entre ces objets.

Relations exitantes

Si une relation existe entre 2 tables (créée préalablement dans la fenêtre ), celle-ci s'affiche automatiquement.

Créer une relation ad hoc

Il est possible de créer une relation ad hoc en faisant glisser un champ d'une table vers le champ d'une autre table.
La relation crée dans la requête n'existe que dans la requête.
Double clic sur la relation pour modifier les . Touche Suppr pour supprimer la relation.

Les différents types de requêtes

Deux types de requête Sélection :
Requête Sélection
Requête Analyse croisé
Quatre types de requêtes Actions :
Requête Création de table
Requête Suppression
Requête Mise à jour
Requête Ajout

Requête Sélection

Une requête Sélection permet de sélectionner des données à afficher, grâce à des critères de filtres. Par exemple, on veut tous les clients dont le champ Ville est égal à LILLE.
Dans d'autres logiciels, ce type de requête se nomme Vue (ou View).
Quand on ouvre une requête Sélection, les données sont interrogées et on voit le résultat de la requête. Si la source n'est pas accessible, une erreur se produit (par exemple si une table a été renommée).
Changements dans les données source d'une requête
0
Dans les tables interrogées dans la requête
Le résultat de la requête affiche :
1
Ajout de lignes
On ne voit pas ces lignes dans la requête, sauf à cliquer sur Actualiser (ou fermer puis réouvrir la requête)
2
Modification de lignes
Modifications affichées dans la requête avec quelques secondes de décalage
3
Suppression de ligne
Les lignes supprimées dans les tables sont affiches sous la forme #Supprimé dans la requête.
There are no rows in this table

Expressions dans les requêtes

Dans Access, on peut écrire les fonctions en anglais et en français.
Si vous écrivez Left dans une expression, Access utilisera le nom en français (Gauche). Certains fonctions sont très fastidieuses à écrire en français (accent circonflexe par exemple), préférez les écrire en anglais (Instr au lieu de DansChaîne, Mid au lieu de ExtracChaîne)
Dans le code SQL, la fonction est toujours en anglais.
Cf. la , l’, l'aides des et (en anglais car mal traduit).
On peut écrire une fonction dans la ligne Champ et dans la ligne Critère, comme par exemple :
image.png
Ici on souhaite extraire les lignes dont l'année du champ Date est supérieure à 2009.

Alias de champ

Dans une requête, on peut placer à gauche d'un nom de champ un nom suivi de deux-points, comme dans cet exemple :
image.png
affichera :
image.png

Alias de requête et Légende de table

Dans une table Access, vous pouvez définir une légende, qui s'affichera à la place du nom du champ dans les formulaires et les états, mais aussi dans les feuilles de données de la table et des requêtes utilisant le champ.
Quand vous utilisez une requête dans une autre requête, dans un formulaire ou dans un état, la légende s'affichera, même si vous avez défini un alias dans la requête, comme ici où nous avons une Légende Nom et un alias Nom2 :
image.png
Quand vous utilisez une requête dans un autre logiciel, comme Excel, il affichera toujours l'alias (ou le nom du champ si aucun alias n'a été défini. Dans cette exemple, on a défini une légende sur Nom et un alias sur Nom2. Seul l'alias s'affichera dans Excel :
image.png

Requête Analyse Croisée

Activation

Dans une requête en mode Création, menu Créer (Outils de requête) > Analyse croisée.
Dans la grille s'affiche une ligne Analyse.

Mise en oeuvre

Dans la grille, s'affiche une ligne Analyse. Une requête Analyse croisée a besoin :
au moins un champ en En-tête de ligne,
un champ en En-tête de colonne,
un champ Valeur.

Requête Action Création de table

Activation

Dans une requête en mode Création, menu Créer (Outils de requête) > Création de table.
Sélectionner ou saisir un nom de table dans la boîte Création de table qui s'affiche, puis valider. Ce peut être le nom d'une table existante (sera écrasée dans ce cas) ou d'une nouvelle table.

Mise en oeuvre

Dans la grille, créer une requête Sélection "normale". Puis exécuter la requête par Créer (Outils de requête) > Exécuter. A chaque exécution, la table destination de la requête est supprimée.

Requête Action Mise à jour

Une requête Mise à jour agit exactement comme un Rechercher/Remplacer.

Activation

Dans une requête en mode Création, menu Créer (Outils de requête) > Mise à jour.
Dans la grille s'affiche une ligne Mise à jour.

Mise en oeuvre

Dans la liste Mise à jour, saisissez la valeur à mettre à jour, par exemple :
1 : toute le champ sera rempli de 1
"bonjour" : si le champ est de type Texte, Access ajoute des guillemets autour de l'expression
[Champ1] : le champ sera rempli par le Champ 1
[Champ1]*1,1 : ajoute 10% au Champ 1

Requête Action Suppression

La suppression de lignes par une requête Suppression est beaucoup plus rapide qu'une suppression "à la main", en sélectionnant des lignes d'une table et en appuyant sur Suppr.

Activation

Dans une requête en mode Création, menu Créer (Outils de requête) > Suppression.
Dans la grille s'affiche une ligne Supprimer.

Mise en oeuvre

Laissez dans la liste Supprimer. Indiquer des critères pour filtrer les lignes à supprimer, par exemple Aujourdhui()-[ChampDate]>365 permet de filtrer les lignes dans le ChampDate est plus ancien d'un an. A chaque exécution, si de nouvelles lignes correspondent au critière, ces lignes seront supprimées.

Requete Action Ajout

Une requête Ajout permet d'ajouter des lignes d'une table dans une autre table. La table source peut être une liaison vers un fichier Excel.

Activation

Dans une requête en mode Création, menu Créer (Outils de requête) > Ajout.
Sélectionner un nom de table dans la boîte Ajout qui s'affiche, puis valider.
Dans la grille s'affiche une ligne Ajouter à.

Mise en oeuvre

La ligne Ajouter à contient les champs de la table de destination (celle dans la quelle on veut ajouter les lignes). Quand on ajoute un champ de la table source dans la grille, si un champ nommé à l'identique existe, il s'affiche dans la liste Ajouter à. Sinon, vous devez le sélectionner manuellement dans la liste.

Requête UNION

Une requête UNION permet de regrouper les données de plusieurs tables. Par exemple :
SELECT * FROM Janvier
UNION
SELECT * FROM Février
renvoie toutes les lignes des tables Janvier et Février. Les champs sont ajoutés dans leur ordre dans chaque table.
Dans Access, une requête Union ne peut être saisie qu'en SQL. Cf la .

Share
 
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.