Erreur (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 dans Access
Article
S’applique à:
Access for Microsoft 365, Access 2019, Access 2016, Access 2013, Access 2010
Symptômes
Pendant que 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 ImportSharePointList macro. (Pour Access 2016 et versions ultérieures) ou TransferSharePointList action (pour les versions d’Access antérieures à 2016) à lier à 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.
Bien que la requête de mise à jour 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, elle ne vérifie pas exclusivement les recherches qui font partie de la requête actuelle.
En raison de cette condition, la connexion à la base de données est interrompue. Par conséquent, la requête retourne un objet ou une base de données en lecture seule dans une opération d’écriture.
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 à des tables pour les rendre accessibles en écriture. Pour cela, procédez comme suit :
Lien vers la liste SharePoint elle-même.
Cela permet de s’assurer que toutes les tables de recherche de la liste sous-jacente existent dans Access.
Supprimez la table liée pour la liste SharePoint dans Access. Cela laisse intacts les tables liées pour les colonnes de recherche.
Lier à la vue SharePoint à l’aide de l’action de ImportSharePointList macro.
Une fois cette solution de contournement implémentée, Microsoft Access contient une table liée pour la vue SharePoint. Il contient également les tables liées pour toutes les colonnes de recherche dans la liste sous-jacente, et non seulement pour les colonnes de recherche incluses dans la vue.
Si ces étapes ne résolvent pas le problème, accédez à la méthode 2.
Méthode 2 : Désactiver la mise en cache dans Access 2010.
Pour cela, procédez comme suit :
Dans Access, sélectionnezOptionsde fichier>.
Sélectionnez Base de données active.
Faites défiler vers le bas jusqu’à la zone Mise en cache du service web .
Démontrez que vous avez les compétences nécessaires pour tirer le meilleur parti d’Access 2016 en obtenant une certification MoS (Microsoft Office Specialist).