Un champ dans mon application est soudain en lecture seule

S’applique à
Access pour Microsoft 365 Access 2019 Access 2016 Access 2013
Important Access services 2010 et Access services 2013 sont supprimés de la prochaine version de SharePoint. Nous vous recommandons de ne pas créer de nouvelles applications web et de migrer vos applications existantes vers une autre plateforme, telle que Microsoft Power Apps.
Vous pouvez partager des données Access avec Dataverse, qui est une base de données cloud sur laquelle vous pouvez créer des applications Power Platform, automatiser des flux de travail, des agents virtuels, etc. pour le web, les téléphones ou les tablettes. Pour plus d’informations, consultez Prise en main : Migrer les données Access vers Dataverse.

Lorsque vous utilisez une requête pour fournir des données pour une vue d’une application web Access, certains champs que vous pouvez vous attendre à pouvoir modifier sont en lecture seule dans la vue. En particulier, si vous utilisez plusieurs tables et qu’il y a au moins une jointure, il existe des restrictions quant aux champs de requête qui peuvent être mis à jour.

Remarque

Cette rubrique concerne les applications web Access. Elle ne s’applique pas aux bases de données de bureau. Si vous rencontrez des problèmes avec une requête dans une base de données de bureau, consultez l’article Présentation des requêtes pour une vue d’ensemble.

Conditions requises pour les champs de requête pouvant être mis à jour

  • Seuls les champs de la table où le champ joint ne possède pas de valeurs uniques (la table « le plus grand nombre ») peuvent être mis à jour.
  • La sortie de la requête doit inclure les champs de clé primaire pour la plupart des tables.
  • La table most many doit se trouver sur le côté interne de toute jointure externe (c’est-à-dire le côté gauche d’une jointure externe gauche ou le côté droit d’une jointure externe droite).

Diagramme d’une requête illustrant les champs pouvant être mis à jour

Dans cette requête, la table Tâches est la table la plus nombreuse, car elle recherche des données dans la table Projets.

Cependant, comme la clé primaire des tâches n’est pas incluse dans la sortie, aucun de ses champs ne peut être mis à jour.

Même si la clé est ajoutée, aucun des champs provenant de la table Projets n’est modifiable car il ne s’agit pas de la table la plus nombreuse.

Haut de la page

Rechercher et résoudre un problème de champ pouvant être mis à jour

La raison pour laquelle votre champ ne peut pas être mis à jour détermine la façon dont vous pouvez activer les mises à jour. Pour connaître cette raison, ouvrez la requête en mode Création et examinez les détails de la création de la requête.

  1. Si vous démarrez à partir d’un navigateur, ouvrez l’application web dans Access : dans le coin supérieur droit de l’application, cliquez sur Paramètres>Personnaliser dans Access.

  2. Dans Access, si le volet de navigation n’est pas ouvert, appuyez sur F11 pour l’afficher. Puis, dans le volet de navigation, cliquez avec le bouton droit sur la requête, puis cliquez sur Mode Création.
    Menu contextuel d’une requête dans le volet de navigation

  3. Déterminer quelle table de la requête est la table la plus nombreuse. En règle générale, la table la plus nombreuses est la table qui recherche des données dans une autre table.

  4. Vérifiez que le champ à mettre à jour se trouve dans la table la plus nombreuse. Si ce n’est pas le cas, vous ne pouvez rien faire dans la requête pour contourner le problème. Vous pouvez également autoriser les utilisateurs à modifier le champ, mais vous pouvez créer une nouvelle vue modifiable basée uniquement sur la table, puis faciliter l’ouverture de cette vue en fonction des besoins. Par exemple, vous pouvez fournir un bouton avec une macro qui ouvre l’affichage.

  5. Vérifiez que la clé primaire de la table la plus nombreuse est incluse dans la sortie de la requête. Si ce n’est pas le cas, ajoutez la clé primaire à la sortie de la requête.

  6. Double-cliquez sur chaque jointure et vérifiez les points suivants :

    • La jointure est une jointure intérieure ; ou,
    • S’il s’agit d’une jointure externe, la table la plus nombreuse se trouve sur le côté interne de la jointure, sur le côté gauche d’une jointure gauche ou sur le côté droit d’une jointure droite.

Si une jointure ne répond pas à au moins un des deux critères précédents, modifiez-la pour que la requête puisse être mise à jour.

Haut de page

Ajouter la clé primaire la plus importante à la sortie de la requête

  1. Ouvrez la requête en mode Création.
  2. Identifier les tables les plus nombreuses.
  3. Double-cliquez sur chaque champ de la clé primaire. Chaque champ de clé est marqué d’une petite clé.
  4. Dans la grille de création de requête, vérifiez que la case Afficher est cochée pour les champs clés que vous venez d’ajouter :
    Ligne Afficher dans la grille de création de requête

Haut de la page

Modifier une jointure pour rendre une requête modifiable

Si une jointure ne répond pas à l’un des critères ci-dessus, les mises à jour sont impossibles. Voici un exemple de jointure non modifiable :

Boîte de dialogue Propriétés de la jointure

Il s’agit d’une jointure externe gauche : elle inclut tous les éléments de la table de gauche et les enregistrements correspondants de la table de droite. Toutefois, la table la plus nombreuse se trouve sur le côté droit de la jointure, ce qui empêche les mises à jour.

Méthodes pour rendre une jointure externe modifiable

Il existe trois méthodes de base pour ajuster une jointure afin que sa requête puisse être mise à jour. Double-cliquez sur la jointure pour ouvrir la boîte de dialogue Propriétés de la jointure , puis effectuez l’une des opérations suivantes :

  • Remplacer la jointure externe par une jointure interne Cliquez sur l’option 1 dans la boîte de dialogue Propriétés de la jointure .
  • Inverser les positions des tableaux Déplacez la plupart des tables vers le côté intérieur de la jointure et l’autre table vers le côté externe (utilisez les zones de liste déroulante dans la boîte de dialogue Propriétés de la jointure pour définir les noms des tables de gauche et de droite).
  • Modifier la direction de la jointure Cliquez sur l’option 2 ou 3 dans la boîte de dialogue Propriétés de la jointure (remplacez-la par la valeur qu’elle n’était pas).

Haut de la page