Les requêtes d’action
Modifier les données en masse : supprimer, mettre à jour, ajouter des enregistrements ou créer une nouvelle table, en une seule exécution.
Avant de commencer
Une requête de sélection affiche des données. Une requête d’action les modifie directement dans les tables, et Access ne permet pas d’annuler avec Ctrl + Z.
La méthode sûre, à suivre à chaque fois
- Sauvegardez la base : Fichier › Enregistrer sous › Sauvegarder la base de données.
- Construisez d’abord une requête de sélection avec les mêmes critères et vérifiez les enregistrements obtenus.
- Changez le type dans Création de requête › Type de requête : Création de table, Ajout, Mise à jour ou Supprimer.
- Contrôlez avec Affichage › Mode Feuille de données : Access montre les lignes concernées sans rien modifier.
- Cliquez sur Exécuter, lisez le message « Vous allez… n ligne(s) » et confirmez avec Oui.
Si rien ne se passe à l’exécution, la base est en mode désactivé : cliquez sur Activer le contenu dans la barre jaune d’avertissement de sécurité.
Dans le volet de navigation, chaque type de requête d’action a sa propre icône avec un point d’exclamation. Un double-clic sur l’une d’elles l’exécute : ouvrez-la plutôt avec clic droit › Mode Création.
Requête de suppression
Pas à pas
- Créer › Création de requête, ajoutez T_Commandes.
- Cliquez sur Type de requête › Supprimer : la ligne Supprimer apparaît.
- Ajoutez le champ du critère, DateCommande, avec Où dans la ligne Supprimer.
- Critère :
<#01/01/2021#, pour les commandes antérieures à 2021. - Vérifiez en Mode Feuille de données, puis Exécuter et Oui.
| Champ | T_Commandes.* | DateCommande |
|---|---|---|
| Table | T_Commandes | T_Commandes |
| Supprimer | À partir de | Où |
| Critères | <#01/01/2021# |
L’astérisque est facultatif : la ligne Où suffit pour supprimer des enregistrements complets.
Sans critère, la requête supprime tous les enregistrements de la table.
Si la relation avec une autre table applique l’intégrité référentielle, Access refuse de supprimer un client qui a des commandes. Avec l’option Effacer en cascade, ses commandes sont supprimées en même temps : vérifiez les relations avant d’exécuter.
Requête de mise à jour
Pas à pas
- Créer › Création de requête, ajoutez T_Produits.
- Type de requête › Mise à jour : la ligne Mise à jour apparaît.
- Ajoutez le champ à modifier, PrixHT. Dans la ligne Mise à jour, saisissez la nouvelle valeur :
[PrixHT]*1,05. - Ajoutez le champ du critère, Catégorie, avec
"Papeterie". - Exécutez une seule fois et confirmez.
| Champ | PrixHT | Catégorie |
|---|---|---|
| Table | T_Produits | T_Produits |
| Mise à jour | [PrixHT]*1,05 | |
| Critères | « Papeterie » |
Hausse de 5 % sur les produits de papeterie.
| Besoin | Ligne Mise à jour | Critère |
|---|---|---|
| Corriger une saisie | "Lille" (champ Ville) | "Lile" |
| Remplir les vides | "Non renseigné" | Est Null |
| Mettre en majuscules | Maj([Nom]) | |
| Remise de 10 € | [PrixHT]-10 | >100 |
Chaque exécution applique le calcul de nouveau : exécutée deux fois, la hausse de 5 % devient 10,25 %. Ne double-cliquez jamais sur une requête de mise à jour dans le volet de navigation.
Le Mode Feuille de données affiche les valeurs actuelles des champs à modifier, pas les nouvelles. Pour prévisualiser le résultat, ajoutez un champ calculé dans la requête de sélection de départ : NouveauPrix: [PrixHT]*1,05.
Requête d’insertion d’enregistrements (Ajout)
Pas à pas
- Créez une requête sur la table source, T_Commandes.
- Type de requête › Ajout. Dans la boîte de dialogue, choisissez la table destination, T_Commandes_Archive, dans la base active ou dans une autre base.
- Placez les champs à copier. La ligne Ajouter à indique le champ de destination : vérifiez chaque correspondance.
- Ajoutez le critère, par exemple DateCommande
Entre #01/01/2021# Et #31/12/2021#. - Exécutez et confirmez « Vous allez ajouter n ligne(s) ».
| Champ | N°Commande | N°Client | DateCommande | MontantHT |
|---|---|---|---|---|
| Table | T_Commandes | T_Commandes | T_Commandes | T_Commandes |
| Ajouter à | N°Commande | N°Client | DateCommande | MontantHT |
| Critères | Entre #01/01/2021# Et #31/12/2021# |
Les enregistrements dont la clé existe déjà dans la destination sont refusés : Access annonce « n enregistrement(s) non ajouté(s) en raison de violations de clé ». Ne lancez pas deux fois la même insertion.
Les champs n’ont pas besoin du même nom, mais leurs types doivent être compatibles. Un champ NuméroAuto de destination peut être laissé vide : Access le numérote lui-même.
Requête de création de table
Pas à pas
- Créez la requête de sélection : champs et critères de la future table.
- Type de requête › Création de table. Saisissez le nom, par exemple T_Clients_Arras_2026, dans la base active ou une autre base.
- Vérifiez en Mode Feuille de données.
- Exécutez : la table apparaît dans le volet de navigation.
- Ouvrez-la en Mode Création pour définir une clé primaire si nécessaire.
Si une table du même nom existe, Access propose de la supprimer avant de la recréer. Toutes ses données sont alors remplacées.
La nouvelle table copie les données et les types de champs, mais pas la clé primaire, les relations, ni la plupart des propriétés (masques, listes de choix, valeurs par défaut).
Archivage complet en deux temps : une requête d’ajout (ou de création de table) copie les anciennes commandes, puis une requête de suppression avec le même critère les retire de la table active. Exécutez-les toujours dans cet ordre.
Récapitulatif
| Type | Ligne ajoutée | Effet | Risque principal |
|---|---|---|---|
| Supprimer | Supprimer : Où | Efface des enregistrements | Oubli du critère, suppressions en cascade |
| Mise à jour | Mise à jour | Remplace des valeurs | Exécution en double |
| Ajout | Ajouter à | Copie dans une table existante | Doublons, violations de clé |
| Création de table | (aucune) | Crée une nouvelle table | Remplacement d’une table existante |
Exercice 1 : corriger une erreur de saisie
Dans T_Clients, la ville « Bethune » a été saisie sans accent. Créez R_MAJ_Bethune qui la remplace par « Béthune ».
Afficher le corrigé
- Requête sur T_Clients, Type de requête › Mise à jour.
- Champ Ville : Mise à jour
"Béthune", Critères"Bethune". - Vérifier en Mode Feuille de données, Exécuter, Oui.
Exercice 2 : hausse de tarif ciblée
Augmentez de 3 % le prix des produits de la catégorie « Informatique » dont le prix est inférieur à 200 € HT.
Afficher le corrigé
- Sauvegarder la base, puis requête sur T_Produits, type Mise à jour.
- PrixHT : Mise à jour
[PrixHT]*1,03, Critères<200. - Catégorie : Critères
"Informatique"sur la même ligne (condition ET). Exécuter une seule fois.
Exercice 3 : archiver l’année 2021
Créez la table T_Commandes_Archive avec les commandes de 2021, puis retirez ces commandes de T_Commandes.
Afficher le corrigé
- Sauvegarder la base. Requête sur T_Commandes, tous les champs, DateCommande
Entre #01/01/2021# Et #31/12/2021#. - Type Création de table › T_Commandes_Archive › Exécuter. Noter le nombre de lignes.
- Nouvelle requête sur T_Commandes, type Supprimer, même critère sur DateCommande. Vérifier que le nombre de lignes est identique, puis Exécuter.