
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
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 :

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.
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 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
Contactez nous pour plus d’informations au 02 51 831 839 ou via notre formulaire de contact
Important Cet article fait la promotion d’Exchange 2016, un produit qui n’est plus commercialisé par Openhost. Nous préconisons désormais Exchange Online. En savoir plus Microsoft Exchange est une solution de messagerie professionnelle qui offre de nombreuses fonctionnalités pour les utilisateurs en entreprise. Cependant pour tirer pleinement profit de votre solution de messagerie Exchange, il est […]
Lire la suite
Quel niveau de bande passante pour votre hébergement serveur ? Vos serveurs VPS, regroupés dans votre Cloud dédié, peuvent se connecter à Internet et profiter de différents niveaux de bande passante serveur. Pas défaut nous vous fournissons systématiquement une bande passante mutualisée de 100Mbps. Ces 100 Mbps mutualisés seront suffisants dans la majorité des usages […]
Lire la suite
Lorsque vous souscrivez à un abonnement Microsoft 365, vous souscrivez à un ensemble d’applications en ligne, de logiciels et de services que vous payez mensuellement ou annuellement. Les applications et services auxquels vous avez accès dans le cadre de votre abonnement dépendent des licences que vous avez choisi. Le licensing de Microsoft pour les entreprises […]
Lire la suite