Une requête est un ensemble d'instructions que vous pouvez utiliser pour manipuler des données. Exécutez la requête pour appliquer ces instructions. En plus de renvoyer des résultats (que vous pouvez ensuite trier, regrouper ou filtrer), une requête permet également de créer, copier, supprimer ou modifier des données.
Cet article explique comment exécuter des requêtes et présente brièvement les différents types de requêtes. Il décrit également les messages d'erreur que vous pouvez rencontrer avec chaque type de requête et indique la marche à suivre pour corriger ces erreurs.
Cet article ne contient pas d'instructions détaillées pour créer des requêtes.
Que voulez-vous faire ?
Exécuter une requête Sélection ou Analyse croisée
Les requêtes Sélection (requête Sélection : requête qui pose une question relative aux données stockées dans vos tables et renvoie un jeu de résultats dans le formulaire d’une feuille de données, sans modifier les données qu’il contient.) et Analyse croisée (requête analyse croisée : requête qui calcule une somme, une moyenne, un compte ou un autre type de total effectué sur des enregistrements, puis qui regroupe le résultat en deux types d’informations : l’un affiché verticalement sur le côté gauche de la feuille de données et l’autre affiché horizontalement en haut.) permettent d'extraire et de présenter des données et de produire des formulaires et des états avec des données. Lorsque vous exécutez une requête Sélection ou Analyse croisée, Microsoft Office Access 2007 affiche les résultats en mode Feuille de données (mode Feuille de données : fenêtre qui affiche des données d’une table, d’un formulaire, d’une requête, d’une vue ou d’une procédure stockée sous forme de lignes et de colonnes. En mode Feuille de données, vous pouvez modifier des champs et ajouter, supprimer ou rechercher des données.).
Exécuter la requête
- Recherchez la requête dans le volet de navigation.
- Exécutez l'une des procédures suivantes :
- Double-cliquez sur la requête que vous voulez exécuter.
- Cliquez sur la requête à exécuter, puis appuyez sur Entrée.
Si cette requête est ouverte en mode Création (mode Création : fenêtre qui présente la création des objets de base de données suivants : tables, requêtes, formulaires, états et macros. En mode Création, vous pouvez créer de nouveaux objets de base de données et modifier la structure d’objets existants.), vous pouvez également l'exécuter en cliquant sur Exécuter dans le groupe Résultats de l'onglet Créer du ruban, intégré dans l'Interface utilisateur Microsoft Office Fluent.
Haut de la page
Exécuter une requête Action
Il existe quatre types de requêtes Action : les requêtes Ajout (requête Ajout : requête Action qui ajoute les enregistrements du jeu de résultats d’une requête à la fin d’une table existante.), les requêtes Suppression (requête Suppression : requête (instruction SQL) qui supprime d’une ou de plusieurs tables les lignes qui correspondent aux critères spécifiés.), les requêtes Mise à jour (requête Mise à jour : requête Action (instruction SQL) qui modifie un jeu d’enregistrements en fonction des critères (conditions de recherche) que vous spécifiez.) et les requêtes Création de table (requête Création de table : requête (instruction SQL) qui crée une nouvelle table, puis des enregistrements (lignes) en copiant des enregistrements à partir d’une table existante ou du résultat d’une requête.). À l'exception des requêtes Création de table (qui créent des tables), les requêtes Action changent les données des tables sur lesquelles elles reposent. Ces modifications peuvent être facilement annulées, par exemple, en appuyant sur CTRL+Z. Si vous modifiez des données avec une requête Action et que vous vous rendez compte plus tard que ce n'est pas ce que vous vouliez faire, vous devez en général restaurer les données d'origine à partir d'une copie de sauvegarde. Pour cette raison, vous devez toujours disposer d'une sauvegarde récente des données sous-jacentes avant d'exécuter une requête Action.
Vous pouvez limiter le risque lié à l'exécution d'une requête Action en affichant d'abord un aperçu des données qui feront l'objet d'une action. Il existe deux manières de procéder :
Remarque Notez le type de la requête Action (Ajout, Mise à jour, Création de table ou Suppression) que vous utilisez en premier afin d'y revenir après avoir affiché les données avec cette méthode.
Exécuter une requête Action en tant que requête Sélection
- Ouvrez la requête Action en mode Création.
- Sous l'onglet Créer, dans le groupe Type de requête, cliquez sur Sélection.
- Sous l'onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
Exécuter la requête
Lorsque vous êtes prêt à exécuter une requête Action, double-cliquez sur celle-ci dans le volet de navigation ou cliquez sur la requête, puis appuyez sur Entrée.
Haut de la page
Exécuter une requête Paramètre
Vous devez fournir une valeur pour la requête Paramètre (requête avec paramètres : requête dans laquelle un utilisateur spécifie de façon interactive une ou plusieurs valeurs de critère. Une requête paramétrée n’est pas un type de requête distinct, mais plutôt une requête qui offre une plus grande souplesse.) lorsque vous l'exécutez. Lorsque vous fournissez cette valeur, la requête Paramètre l'applique en tant que critère de champ. Le champ auquel le critère est appliqué est spécifié dans la structure de la requête. Si vous ne fournissez pas cette valeur lorsqu'elle vous est demandée, la requête Paramètre l'interprète comme chaîne vide.
Une requête Paramètre est également une requête d'un autre type. La plupart des requêtes Paramètre sont à la fois des requêtes Sélection ou des requêtes Analyse croisée, mais les requêtes Ajout, Création de table et Mise à jour peuvent également être des requêtes Paramètre.
Une requête Paramètre s'exécute en fonction de son autre type, mais, en général, la procédure courante est la suivante.
Exécuter la requête
- Recherchez la requête dans le volet de navigation.
- Exécutez l'une des procédures suivantes :
- Double-cliquez sur la requête que vous voulez exécuter.
- Cliquez sur la requête à exécuter, puis appuyez sur Entrée.
- Lorsque l'invite du paramètre apparaît, entrez la valeur à appliquer comme critère.
Haut de la page
Exécuter une requête SQL
Il existe trois grands types de requêtes SQL (requête propre à SQL : requête qui se compose d’une instruction SQL. Les sous-requêtes et les requêtes directes, Union et Définition des données sont des requêtes propres à SQL.) : les requêtes Union (requête Union : requête qui utilise l’opérateur UNION pour combiner les résultats de deux requêtes Sélection, ou plus.), les requêtes SQL directes (requête SQL directe : requête propre à SQL, utilisée pour envoyer des commandes directement à un serveur de base de données ODBC. Les requêtes SQL directes vous permettent de travailler directement avec les tables se trouvant sur le serveur. Les données ne sont alors plus traitées par le moteur de base de données Access.) et les requêtes Définition des données (requête Définition des données : requête propre à SQL qui contient des instructions DDL (Data Definition Language, langage de définition de données). Ces instructions vous permettent de créer ou de modifier des objets de la base de données.).
Les requêtes Union combinent les données d'au moins deux tables, mais pas de la même manière que les autres requêtes. Alors que la plupart des requêtes combinent des données en concaténant des lignes, les requêtes Union combinent les données en ajoutant les lignes. Les requêtes Union diffèrent des requêtes Ajout du fait qu'elles ne changent pas les données des tables sous-jacentes. Les requêtes Union ajoutent les lignes dans un jeu d'enregistrements qui ne perdure pas une fois la requête fermée.
Les requêtes SQL directes ne sont pas traitées par le moteur de base de données inclus dans Access ; elles sont directement transmises à un serveur de base de données distant qui traite et renvoie les résultats à Access.
Les requêtes Définition des données sont des requêtes d'un type spécial qui ne traitent pas les données ; au lieu de cela, elles créent, suppriment ou modifient d'autres objets de base de données (objets de base de données : une base de données Access contient des objets tels que des tables, des requêtes, des formulaires, des états, des pages, des macros et des modules. Un projet Access contient des objets tels que des formulaires, des états, des pages, des macros et des modules.).
Les requêtes SQL ne peuvent pas être ouvertes en mode Création. Elles ne peuvent être ouvertes qu'en mode SQL ou exécutées. À l'exception des requêtes Définition de données, les requêtes SQL s'ouvrent en mode Feuilles de données lorsqu'elles sont exécutées.
Exécuter la requête
- Recherchez la requête dans le volet de navigation.
- Exécutez l'une des procédures suivantes :
- Double-cliquez sur la requête que vous voulez exécuter.
- Cliquez sur la requête à exécuter, puis appuyez sur Entrée.
Haut de la page
Résoudre un message d'erreur
Le tableau suivant contient certains des messages d'erreur courants que vous êtes susceptible de rencontrer. Les erreurs peuvent être signalées sous forme de message dans une cellule (au lieu d'une valeur attendue) ou sous forme de message d'erreur. Les sections qui suivent la liste indiquent les procédures à utiliser pour résoudre les erreurs.
Remarque Le contenu du tableau n'est pas exhaustif. S'il ne contient pas le message d'erreur que vous avez reçu, vous pouvez indiquer celui-ci dans le formulaire à la fin de cet article et fournir toute information utile dans la zone de commentaire prévue à cet effet.
| Message d'erreur |
Problème |
Solution |
| Incohérence de type dans une expression |
La requête peut joindre des champs qui ont des types de données différents. |
Vérifiez que les champs joints dans la requête sont de même type. Pour plus d'instructions, voir la section Vérifier les champs joints dans la requête. |
| L'enregistrement est supprimé. |
Cela peut se produire si l'objet ou la base de données est endommagé(e). |
Compactez et réparez la base de données. Pour plus d'instructions, voir la section Compacter et réparer une base de données. |
| Référence circulaire causée par l'alias |
L'alias attribué à un champ est le même qu'un composant de l'expression pour ce champ.
Un alias est un nom donné à une expression qui n'est pas un champ dans la ligne Champ de la grille de création de la requête. Access attribue automatiquement un alias si vous ne le faites pas ; par exemple, EXPR1. Un alias est immédiatement suivi de deux-points (:), puis de l'expression. Lorsque vous exécutez la requête, l'alias devient le nom de la colonne dans la feuille de données.
|
Changez l'alias. Pour plus d'instructions, voir la section Changer l'alias d'un champ. |
| #Erreur |
Cette erreur peut se produire lorsque la valeur d'un champ calculé est supérieure à la valeur autorisée par le paramètre de la propriété TailleChamp. Elle se produit également lorsque le dénominateur d'un champ calculé a la valeur zéro (0). |
Assurez-vous que le dénominateur du champ calculé ne produit pas la valeur zéro (0). Si nécessaire, changez la propriété TailleChamp. |
| #Supprimé |
L'enregistrement auquel il est fait référence a été supprimé. |
Si l'enregistrement a été supprimé accidentellement, il doit être restauré à partir d'une copie de sauvegarde. Si la suppression est intentionnelle, vous pouvez ignorer ce message d'erreur en appuyant sur MAJ+F9 pour actualiser la requête. |
Vérifier les champs joints dans la requête
Pour vérifier les types de données des champs d'une requête, reportez-vous aux tables source en mode Création et inspectez les propriétés des champs.
- Ouvrez la requête en mode Création. Les jointures apparaissent sous forme de lignes qui relient les champs dans les tables source. Notez le nom des tables et des champs pour chaque jointure.
- Dans le volet de navigation, cliquez avec le bouton droit sur chaque table dont des champs sont joints dans votre requête, puis cliquez sur Mode Création.

Champs joints avec des types de données différents.

Cliquez avec le bouton droit sur la table, puis cliquez sur Mode Création.
- Comparez les valeurs de chaque champ de la jointure dans la colonne Type de données de la grille de création de la table.

Vérifiez le type de données des champs joints en mode Création de la table.
- Pour basculer vers une table afin de voir ses champs, cliquez sur l'onglet comportant le nom de cette table.
Haut de la page
Compacter et réparer une base de données
Exécuter l'utilitaire Compacter une base de données dans Access peut rendre votre base de données plus performante. Cet utilitaire crée une copie du fichier de la base de données et, s'il est fragmenté, il le reconstitue sur le disque. Une fois que le processus de compactage et de réparation est terminé, la base de données compactée est en général plus petite que la base de données d'origine et l'espace qu'elle occupe est optimisé. En compactant régulièrement la base de données, vous pouvez tirer un meilleur profit de l'application de base de données et résoudre les erreurs dues à des problèmes de matériel, des coupures de courant ou des surtensions et à des causes similaires.
Une fois que l'opération de compactage est terminée, la requête s'exécute plus rapidement, car les données sous-jacentes ont été réécrites dans les tables sous forme de pages continues. L'analyse de pages continues est en effet plus rapide que l'analyse de pages fragmentées. Les requêtes sont également optimisées après chaque compactage de la base de données.
Au cours de l'opération de compactage, vous pouvez utiliser le nom d'origine du fichier de la base de données compactée ou un autre nom pour créer un fichier distinct. Si vous utilisez le même nom lorsque la base de données est compactée, Access remplace automatiquement le fichier d'origine par la version compactée.
Définir une option pour automatiser ce processus
- Cliquez sur le bouton Microsoft Office
, puis sur Options Access.
- Cliquez sur Base de données actuelle et, sous Options de l'application, activez la case à cocher Compacter lors de la fermeture.
Access compacte et répare alors automatiquement la base de données chaque fois qu'elle est fermée.
Compacter et réparer manuellement une base de données
- Cliquez sur le bouton Microsoft Office
, pointez sur Gérer, puis sous Gérer cette base de données, cliquez sur Compacter une base de données.
Remarque Pour que l'opération de compactage réussisse, vous devez disposer de suffisamment d'espace de stockage sur votre disque dur pour la base de données d'origine et la base de données compactée.
Haut de la page
Changer l'alias d'un champ
- Ouvrez la requête en mode Création.
- Dans la grille de création de la requête, recherchez les champs qui ont des alias. Les alias comportent un signe deux-points à la fin du nom du champ, par exemple Nom :.
- Vérifiez chaque alias pour vous assurer qu'il ne correspond pas au nom d'un champ faisant partie de l'expression de l'alias. Si c'est le cas, changez l'alias.
Haut de la page