Vérifier le type de requête
Vérifiez que vous n’essayez pas de modifier les données retournées par une requête Analyse croisée, Union, Pass-Through ou Définition de données.
Rechercher des fonctions d’agrégation
Vous ne pouvez pas modifier les données retournées par une requête Totals ou une requête qui utilise d’autres fonctions d’agrégation telles que MIN, MAX ou AVG.
Les fonctions d’agrégation combinent les valeurs de plusieurs enregistrements et, si vous essayez de modifier une valeur agrégée, Access ne sait pas quel champ source mettre à jour. Il ne vous permet donc pas de modifier quoi que ce soit.
Notez également que dans la vidéo, j’ai dit « fonction agrégée », mais je voulais dire « valeur agrégée ».
Vérifier les propriétés de la requête
Avec la requête en mode Création, cliquez sur Propriétés. Vérifiez que la propriété Valeurs uniques est définie sur Non et que la propriété Type d’objet Recordset affiche Dynaset.
Rechercher les sous-requêtes
Plus précisément, recherchez les sous-requêtes qui font partie de l’instruction Select initiale. Par exemple :
SELECT [Date de la commande], (SELECT MAX([Date de la commande])
L’ajout de la sous-requête à la requête parente vous empêche de modifier des données. Essayez les solutions suivantes :
- Dans le concepteur de requêtes, décochez la case Afficher si vous n’avez pas besoin de voir le champ dans votre résultat.
- Remplacez la sous-requête par une fonction d’agrégation de domaine telle que DMIN ou DMAX.
- Déplacez la sous-requête hors de la première instruction Select.