Modifier les données dans une requête

Remarque : Nous faisons de notre mieux pour vous fournir le contenu d’aide le plus récent aussi rapidement que possible dans votre langue. Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez-vous nous indiquer en bas de page si ces informations vous ont aidé ? Voici l’article en anglais à des fins de référence aisée.

Vous pouvez rencontrer des situations où vous ne pouvez pas modifier les données dans la requête mode Feuille de données pour modifier les données dans la table sous-jacente. Cet article vous aide à comprendre quand vous pouvez modifier les données d'une requête, quand vous ne pouvez pas modifier les données de la requête et comment modifier la conception d'une requête afin de pouvoir modifier ses données sous-jacentes.

Contenu de cet article

Introduction

Comment modifier les données dans une requête?

Quand n'est-il pas possible de modifier des 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 se peut que vous souhaitiez modifier les données. Vous remarquerez peut-être une erreur, ou peut-être des informations qui sont peut-être obsolètes s'affichent. En fonction du mode de création de la requête, vous pouvez modifier les données directement dans la requête feuille de données.

Si vous essayez de modifier les données dans une feuille de données de requête mais que rien ne se produit, ou si Windows émet un son et que votre modification ne se produit pas, vous ne pouvez pas effectuer la modification. Cela peut être dû au fait que la requête proprement dite n'est pas disponible à des fins de modification, telle qu'une requête analyse croisée. Il se peut également que seul le champ que vous tentez de modifier ne soit pas disponible pour modification, par exemple, si le champ est basé sur une fonction d'agrégation, telle qu'une moyenne. Dans tous les cas, vous pourrez peut-être effectuer une opération pour pouvoir modifier.

En plus de modifier les données en mode feuille de données de requête, vous pouvez également utiliser un requête Mise à jour pour 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, consultez l’article Créer et exécuter une requête Mise à jour.

En règle générale, lorsque vous voulez modifier des données en mode feuille de données de requête, vous devez enregistrer vos modifications dans les tables sur lesquelles la requête est basée. Si vous ne voulez pas modifier les données de ces tables, mais que vous voulez quand même modifier les données et conserver les données modifiées une fois que vous avez terminé, vous pouvez utiliser un requête Création de table pour créer d'abord une table dont vous pouvez modifier les données. Vous pouvez également utiliser une requête Création de table pour enregistrer les résultats d'une requête qui n'autorise pas la modification en tant que nouvelle table, puis modifier les données de cette nouvelle table. Cet article n'explique pas comment créer et exécuter des requêtes création de table.

Pour plus d'informations sur les requêtes création de table, consultez l'article créer une requêtecréation de table.

Haut de la page

Comment modifier les données dans une requête?

Vous pouvez toujours modifier les données d'une requête lorsque celle-ci est basée sur une seule table ou sur deux tables qui comportent une relation un-à-un l'une à l'autre.

Remarque : Même si vous pouvez modifier les données dans une requête, il se peut que certains champs ne soient pas disponibles pour modification. Ces cas sont répertoriés dans la section suivante.

Haut de la page

Quand n'est-il pas possible de modifier des données dans une requête?

Vous ne pouvez jamais modifier les données d'une requête dans les situations suivantes:

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

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

  • Le champ que vous tentez de modifier est un champ calculé. Dans ce cas, vous pourrez peut-être modifier les autres champs.

  • La requête repose sur trois tables ou plus et il existe une relation plusieurs-à-plusieurs.

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

  • La requête contient une clause GROUP BY.

Haut de la page

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

Le tableau suivant répertorie les cas dans lesquels vous ne pouvez pas modifier une requête, qui est associée à des méthodes pour rendre la feuille de données de la requête disponible pour modification.

Vous ne pouvez pas modifier les valeurs dans une feuille de données de requête quand:

Pour rendre la feuille de données de requête disponible pour la modification:

La propriété valeurs distinctes de la requête est définie sur Oui.

Attribuez à la propriété valeurs distinctes de la requête la valeur non.

Consultez la section suivante, attribuez la valeur non à la propriété valeurs uniquespour savoir comment la paramétrer.

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

Ajoutez une clé primaire ou un index unique à la table liée à l'aide des méthodes fournies par le fournisseur de la base de données liée.

Vous ne disposez pas des autorisations de mise à jour des données pour la table sous-jacente.

Attribuez les autorisations de mise à jour des données.

La requête inclut plusieurs tables ou requêtes, et les tables ou les requêtes ne sont pas jointes par une ligne de jointure en mode création.

Créez les jointures appropriées.

Pour plus d'informations sur la création des jointures, voir la section créerdes jointures.

La base de données est ouverte en lecture seule ou se trouve sur un lecteur en lecture seule.

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

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

Attendez que l'enregistrement soit déverrouillé. Un enregistrement verrouillé peut être mis à jour dès que l'enregistrement est déverrouillé. Attendez que l'autre utilisateur finisse l'opération ayant verrouillé l'enregistrement.

La requête est basée sur des tables avec un relation un-à-plusieurs, et le champ de jointure du côté «plusieurs» n'est pas un champ de destination. Dans ce cas, les données du champ de jointure du 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.

RePortez-vous à la section Ajouter le champ de jointure du côté «plusieurs» aux champs de sortiede la requête pour savoir comment ajouter le champ de jointure.

Le champ de jointure du côté «plusieurs» (une fois que vous avez modifié des données) se trouve du côté «un».

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

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

Assurez-vous qu'il existe une valeur dans ce champ du côté «un». Vous pouvez modifier le champ de jointure du côté «plusieurs» uniquement s'il existe une valeur dans ce champ du côté «un».

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

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

Pour plus d'informations sur l'ajout de champs, voir la section Ajouter des champs d'index uniques à partir d'une table ODBC liée.

Haut de la page

Attribuez à la propriété valeurs distinctes la valeur non

  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 requête pour vous assurer que la feuille de propriétés affiche les propriétés de la requête plutôt que les propriétés du champ.

  3. Dans la feuille de propriétés, recherchez la zone de propriété valeurs distinctes . Cliquez sur la zone en regard de celle-ci, cliquez sur la flèche dans cette zone, 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 souhaitez rejoindre, faites glisser le champ de jointure de la table ou de la requête vers le champ correspondant dans la table ou la requête sur laquelle vous voulez créer la jointure.

Pour plus d'informations sur la création de jointures, voir l'article, jointure de tables et de 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 correspondant à 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 dans la grille des champs, ce qui indique qu'il est désormais un champ de destination.

Ajouter des champs d'index unique à partir d'une table ODBC liée

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

  2. Dans le concepteur de requêtes, recherchez la table ODBC liée.

  3. Les champs d'index unique comportent un symbole de clé en regard du nom du champ. Double-cliquez sur chaque champ qui ne se trouve pas déjà dans la grille des champs. Chaque champ s'affiche dans la grille des champs, ce qui indique qu'il s'agit désormais d'un champ de destination.

Haut de la page

Développez vos compétences dans Office
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.

×