Afficher en anglais

Partage via


« Impossible de mettre à jour. La base de données ou l’objet est en lecture seule » dans une requête sur une vue SharePoint liée s’il existe des champs de recherche non liés

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous travaillez dans Microsoft Access.
  • Vous exécutez des requêtes de mise à jour sur une vue Microsoft SharePoint liée.
  • La liste sous-jacente que vous mettez à jour inclut des champs de recherche qui ne sont pas liés à Access, car ils ne sont pas inclus dans l’affichage actuel.

Dans ce scénario, le message d’erreur suivant s’affiche :

Mise à jour impossible. La base de données ou l'objet est en lecture seule.

Cause

Ce problème se produit lorsque vous utilisez l’action de macro ImporterSharePointList (à partir d’Access 2016, précédemment appelé TransferSharePointList) pour créer un lien vers une vue d’une liste SharePoint dans Access. Cette macro crée des tables liées dans Access pour chaque colonne de recherche dans la vue SharePoint. Toutefois, lorsque la requête de mise à jour s’exécute, elle vérifie d’abord que toutes les colonnes de recherche ont des tables liées dans la base de données pour la liste sous-jacente. La requête de mise à jour ne vérifie pas exclusivement les recherches qui font partie de la requête actuelle.

Solution de contournement

Pour contourner ce problème, utilisez l’une des méthodes suivantes :

Méthode 1

Liez toutes les colonnes de recherche de la liste sous-jacente aux tables. Pour cela, procédez comme suit :

  1. Lien vers la liste SharePoint elle-même. Cela permet de s’assurer que toutes les tables de recherche pour la liste sous-jacente sont présentes dans Access.
  2. Supprimez la table liée pour la liste SharePoint dans Access. (Laissez les tables liées pour les colonnes de recherche.)
  3. Créez un lien vers la vue SharePoint à l’aide de l’action de macro ImporterSharePointList .

Après avoir suivi ces étapes, Access contient une table liée pour la vue SharePoint et des tables liées pour toutes les colonnes de recherche dans la liste sous-jacente au lieu de uniquement les colonnes de recherche incluses dans la vue.

Méthode 2

Désactivez la mise en cache dans Access 2010. Pour cela, procédez comme suit :

  1. Dans Access, sélectionnezOptionsde fichier>.
  2. Sélectionnez Base de données active.
  3. Faites défiler jusqu’à la zone Service web de mise en cache , puis recherchez les tables Microsoft SharePoint.
  4. Cochez la case Ne jamais mettre en cache .

Informations supplémentaires

Pour plus d’informations sur les problèmes connus qui se produisent lorsque vous utilisez des listes SharePoint dans Access, voir Formats de cache Access pour les listes/bibliothèques de documents SharePoint.

Pour plus d’informations sur la macro TransferSharePointList, voir Action de macro TransferSharePointList.