Modifier les données dans une requête

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Il peut arriver que, dans certains cas, vous ne puissiez pas modifier les données d'une requête en mode Feuille de données pour changer les données de la table sous-jacente. Cet article vous indique quand vous pouvez modifier les données d'une requête et comment vous pouvez modifier une requête de manière à changer ses données sous-jacentes.

Dans cet article

Introduction

Quand puis-je modifier les données dans une requête ?

Quand ne puis-je pas modifier les données dans une requête ?

Comment modifier une requête afin de pouvoir modifier ses données ?

Introduction

Lorsque vous ouvrez une requête en mode Feuille de données, il peut arriver qu'il soit nécessaire de modifier des données car certaines sont erronées ou obsolètes. Si la requête a été créée de façon à permettre les modifications, vous pouvez modifier les données directement dans la feuille de données de la requête.

Si, lorsque vous essayez de modifier les données dans la feuille de données d'une requête rien ne se passe ou Windows émet un son et ne prend pas en compte vos modifications, cela peut indiquer que la requête ou le champ que vous voulez modifier n'est pas modifiable, par exemple : s'il s'agit d'une requête croisée ou d'un champ reposant sur une fonction d'agrégation, comme une moyenne. Il est toutefois possible de remédier à cette situation.

En plus de modifier des données en mode Feuille de données, une requête Mise à jour vous permet de mettre à jour les données d'une table. Cet article ne traite pas des requêtes Mise à jour.

Pour plus d’informations sur les requêtes Mise à jour, voir l’article créer une requête mise à jour.

En général, lorsque vous modifiez les données d'une requête en mode Feuille de données, Il est conseillé d'enregistrer les modifications dans les tables sur lesquelles la requête repose. Si vous ne voulez pas modifier les données dans ces tables mais quand même conserver les données modifiées, vous pouvez utiliser une requête Création de table qui vous permet de créer une table dont vous pouvez modifier les données. Vous pouvez également utiliser une telle requête pour enregistrer les résultats d'une requête dans une table puis les modifier. Cet article n'indique pas la marche à suivre pour créer et exécuter des requêtes Création de table.

Pour plus d’informations sur les requêtes de création de table, voir l’article créer une requête Création de table.

Haut de la Page

Quand peut-on modifier les données d'une requête ?

Vous pouvez modifier les données d'une requête si celle-ci repose sur une table ou deux tables reliées l'une à l'autre dans une relation un-à-un.

Remarque : Il arrive cependant parfois que bien que vous puissiez modifier les données d'une requête, certains de ses champs ne soient pas modifiables. La section suivante décrit pareilles situations.

Haut de la Page

Quand ne peut-on pas modifier les données d'une requête ?

Vous ne pouvez pas modifier les données d'une requête lorsque :

  • La requête est une requête analyse croisée.

  • La requête est une requête propre à SQL.

  • Le champ que vous essayez de modifier est un champ calculé. Dans ce cas, il se peut que les autres champs soient modifiables.

  • La requête repose sur au moins trois tables reliées entre elles dans le cadre d'une relation plusieurs-à-une-à-plusieurs.

    Remarque : Bien que vous ne pouvez pas modifier la feuille de données de requête dans ce cas, vous pouvez modifier les données dans un formulaire lorsque la propriété RecordsetType du formulaire est définie aux feuille de réponse dynamique (Mises à jour incohérentes).

  • La requête contient une clause GROUP BY.

Haut de la Page

Comment peut-on modifier une requête de manière à changer ses données ?

Le tableau suivant indique les cas dans lesquels vous ne pouvez pas modifier une requête et les méthodes qui permettent de rendre modifiable la feuille de données de la requête.

Vous ne pouvez pas modifier les valeurs de la feuille de données d'une requête lorsque :

Pour rendre la feuille de données de la requête modifiable :

La propriété Valeurs uniques de la requête a la valeur Oui.

Attribuez la valeur Non à la propriété Valeurs uniques.

Consultez la section suivante, Définissez la propriété valeurs uniques sur non, pour découvrir comment définir cette propriété.

La requête comporte une table de base de données ODBC attachée sans index unique ou une table Paradox sans clé primaire.

Ajoutez une clé primaire ou un index unique à la table attachée en suivant les instructions du fournisseur de la base de données attachée.

Vous ne disposez d'aucune autorisation Mettre à jour la base de données pour la table sous-jacente.

Assignez des autorisations Mettre à jour la base de données.

La requête comporte plusieurs tables ou requêtes et les tables ou les requêtes ne sont pas liées par une ligne de jointure en mode Création.

Créez les jointures appropriées.

Consultez la section créer des jointures, pour apprendre à créer les jointures.

La base de données ou le lecteur sur lequel elle se trouve est en lecture seule.

Fermez la base de données et rouvrez-la sans sélectionner Ouvrir en lecture seule ; ou, si la base de données se trouve sur un lecteur en lecture seule, supprimez l'attribut de lecture seule du lecteur ou placez la base de données sur un lecteur qui n'est pas en lecture seule.

Le champ dans l'enregistrement que vous voulez mettre à jour est supprimé ou est verrouillé par un autre utilisateur.

Attendez que l'enregistrement ne soit plus verrouillé. Un enregistrement verrouillé peut être mis à jour dès qu'il est déverrouillé. Attendez que l'autre utilisateur finisse l'opération qui a entraîné le verrouillage de l'enregistrement.

La requête repose sur des tables liées par une relation un-à-plusieurs et le champ de jointure des tables côté « plusieurs » n'est pas un champ de sortie. Dans ce cas, les données dans le champ de jointure de la table côté « un » ne peuvent pas être modifiées.

Ajoutez le champ de jointure du côté « plusieurs » de la relation aux champs de sortie de la requête.

Consultez la section Ajouter le champ de jointure du côté « plusieurs » aux champs de sortie de la requête, pour savoir comment ajouter le champ de jointure.

Le champ de jointure du côté « plusieurs » (après modification des données) est sur le côté « un ».

Appuyez sur MAJ+F9 pour valider vos modifications et actualiser la requête.

Il y a un champ vide dans la table du côté « un » d'une relation un-à-plusieurs et la jointure est de type jointure externe droite.

Vérifiez que le champ du côté « un » comporte une valeur. Vous pouvez modifier le champ de jointure du côté « plusieurs » seulement si ce même champ du côté « un » comporte une valeur.

Vous utilisez une table de base de données ODBC attachée et tous les champs de l'index unique de la table attachée n'apparaissent pas dans le résultat de la requête.

Ajoutez tous les champs de l'index unique de la table ODBC aux champs de sortie de la requête.

Consultez la section Ajouter des champs index unique d’une table liée ODBC, pour savoir comment ajouter les champs.


Haut de la Page

Attribuer la valeur Non à la propriété Valeurs uniques

  1. Ouvrez la requête en mode Création.

  2. Si la feuille de propriétés n'est pas ouverte, ouvrez-la en appuyant sur F4. Cliquez une fois dans la grille de création de la requête pour que la feuille de propriétés affiche les propriétés de la requête et non les propriétés des champs.

  3. Dans la feuille de propriétés, cliquez sur la flèche à côté de la zone de propriété Valeurs uniques, puis cliquez sur Non.

Créer des jointures

  1. Ouvrez la requête en mode Création.

  2. Pour chaque table ou requête que vous voulez joindre à une autre, faites glisser le champ de jointure de cette table ou requête sur le champ correspondant de la table ou requête que vous voulez joindre à la première.

Pour plus d’informations sur la création de jointures, voir l’article, joindre des tables et requêtes.

Ajouter le champ de jointure du côté « plusieurs » aux champs de sortie de la requête

  1. Ouvrez la requête en mode Création.

  2. Dans le Concepteur de requêtes, recherchez la jointure qui correspond à la relation un-à-plusieurs appropriée.

  3. Double-cliquez sur le champ de jointure du côté « plusieurs » de la relation un-à-plusieurs. Le champ de jointure apparaît alors dans la grille des champs, ce qui indique qu'il est désormais un champ de sortie.

Ajouter des champs de l'index unique à partir d'une table ODBC attachée

  1. Ouvrez la requête en mode Création.

  2. Dans le Concepteur de requête, recherchez la table ODBC attachée.

  3. Un symbole représentant une clé apparaît à côté du nom des champs de l'index unique. Double-cliquez sur chaque champ qui n'est pas dans la grille des champs. Chaque champ apparaît alors dans la grille de champs, ce qui indique qu'il est désormais un champ de sortie.

Haut de la Page

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×