Lier une vue de liste SharePoint dans MsAccess

Tips SharePoint

Si vous utilisez MsAccess pour créer des IHM en vous basant sur des tables liées stockées dans des listes SharePoint vous avez peut être constaté que certaines limitations imposées par SharePoint sur les grandes listes posent problèmes lors de l’ajout de nouvelles données (voir fin de l’article).

Même en respectant toutes les préconisations de Microsoft concernant la gestion des grandes listes SharePoint, il est possible que les problèmes persistent depuis Microsoft Access. Dans ce cas, une nouvelle approche peut être envisagée : celle que je vous présente ici

Optimiser les liaisons Access en ciblant des vues SharePoint filtrées

Si votre projet (usage) vous permet de limiter le nombre de lignes retournées par SharePoint à MsAccess, alors vous pouvez ajouter une nouvelle liaison dans MsAccess qui pointera sur votre liste SharePoint mais en filtrant cette liste en se basant sur une vue SharePoint que vous aurez créé spécifiquement coté SharePoint.

Il est ainsi possible d’avoir dans MsAccess plusieurs liaisons vers une même liste SharePoint :

  1. Liaison vers la liste entière retournant tous les enregistrements (lignes) de la liste SharePoint
  2. Liaison vers la liste filtrée par une vue SharePoint retournant moins de lignes avec uniquement les enregistrements pertinents pour réaliser votre process au sein de MsAccess.
liste SharePoint

Exemple: Vous gérez des centaines de milliers de factures au format PDF dans une liste SharePoint et votre projet MsAccess doit pouvoir générer des PDF depuis un Etat et les ajouter dans la liste. Or si la liste atteint les limites de SharePoint cela peut ne plus fonctionner (ajout impossible).
En réduisant artificiellement la longueur de la liste retournée par SharePoint vers MsAccess grâce à une vue SharePoint, vous devriez pouvoir vous affranchir de cette limite en filtrant votre vue par exemple sur les factures des x derniers mois. Ainsi au lieu de récupérer dans votre table liée MsAccess toutes les lignes vous n’en aurez qu’un sous-ensemble et l’ajout de nouvelles lignes fonctionnera.

Comment ajouter une table liée MsAccess qui s’appuie sur une vue spécifique d’une liste SharePoint ?

La méthode la plus simple pour ajouter une table liée provenant d’une liste SharePoint et, point capital, se basant sur une vue spécifique de cette liste, se fera en code VBA.

Sub LienVersFactureFiltrée12mois()
' Ajoute dans MsAccess une table liée qui sera nommée FacturesDerniers12Mois
' Cette Table liée prendra ses données au sein du sous-site SharePoint https://XYZT.sharepoint.com/sites/Wss2
' Puis utilisera la liste dont le GUID est ECCA5FC1-3EBE-4CEE-976A-B2B81662F9AA
' Puis utilisera la vue de cette liste dont le GUID est 9092F616-4515-4335-8760-70FC02D6CABC

DoCmd.TransferSharePointList acLinkSharePointList, _
"https://XYZT.sharepoint.com/sites/Wss2/_layouts/viewlsts.aspx", _
"{ECCA5FC1-3EBE-ABCD-976A-B2B81662F9AA}", "{9092F616-ABCD-4335-8760-70FC02D6CABC}", _
"FacturesDerniers12Mois"

End Sub

Pourquoi votre table liée n’apparaît pas dans MS Access ?

Il est bon de savoir que si votre URL, vos GUID sont corrects et que le code s’exécute sans erreur mais que, pour autant, vous ne voyez votre table liée apparaitre dans MsAccess c’est probablement que votre URL n’est pas correcte. En effet vous devez impérativement ajouter à la fin de votre URL /_layouts/viewlsts.aspx

Méthode DoCmd.TransferSharePointList (Access) | Microsoft Learn

Articles recommandés

  1. Vue d’ensemble des listes et bibliothèques volumineuses
    Cet article présente les limites de ressources et les seuils applicables aux listes et bibliothèques SharePoint, ainsi que des solutions spécifiques pour SharePoint Server et SharePoint Online.
    👉 Lire l’article
  2. Travailler avec la limite du seuil d’affichage des listes pour toutes les versions de SharePoint
    Découvrez des solutions pour gérer la limite du seuil d’affichage des listes, notamment l’utilisation d’index et de vues filtrées, l’édition de la vue de liste, l’organisation des éléments en dossiers, la synchronisation hors ligne, etc.
    👉 Lire l’article
  3. Gérer les grandes listes et bibliothèques
    Apprenez à gérer les grandes listes et bibliothèques pour SharePoint 2013 et SharePoint 2016 sur site en planifiant et en utilisant des fonctionnalités clés des listes et bibliothèques, des limitations de ressources, des colonnes indexées, des vues filtrées basées sur des index de colonnes, etc.
    👉 Lire l’article
  4. Travailler avec la limite du seuil d’affichage des listes pour SharePoint Server uniquement
    Cet article explique comment travailler avec la limite du seuil d’affichage des listes pour les versions de SharePoint Server en utilisant le site du centre de documents, la fenêtre de temps quotidienne et comment modifier la limite du seuil d’affichage des listes.
    👉 Lire l’article
  5. Le nombre d’éléments de cette liste dépasse le seuil d’affichage de liste
    Cet article décrit le message d’erreur qui s’affiche lorsque le nombre d’éléments d’une liste dépasse le seuil d’affichage et fournit des solutions pour contourner ce problème.
    👉 Lire l’article

Bonnes pratiques à retenir

  • Utiliser des colonnes indexées : Créez des index sur les colonnes fréquemment utilisées pour le tri ou le filtrage afin d’améliorer les performances.
  • Créer des vues filtrées : Limitez le nombre d’éléments affichés en utilisant des filtres basés sur des colonnes indexées.
  • Organiser les éléments en dossiers : Divisez les grandes listes en dossiers pour faciliter la navigation et améliorer les performances.
  • Éviter les colonnes de recherche multiples : Réduisez le nombre de colonnes de recherche, car elles peuvent affecter les performances des formulaires de liste.
  • Utiliser la synchronisation hors ligne : Travaillez avec des outils comme Access ou Excel pour manipuler de grandes quantités de données hors ligne.

Autres actualités