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 Depuis août 2023, le produit « Azure Active Directory » a été remplacé par « Microsoft Entra ID ». Toutes les licences et fonctionnalités restent inchangées. En savoir plus Si vous travaillez sur un environnement Active Directory depuis plusieurs années, il y a de fortes chances que vous vous soyez déjà demandé comment récupérer la date de dernière […]
Lire la suiteL'année 2021 verra l'arrêt progressif de notre service de messagerie Exchange 2016 hébergé par Openhost. En conséquence, nous ne renouvellerons pas votre/vos contrat(s) portant sur Exchange 2016 SaaS et nous vous proposons de migrer vos boîtes emails ou celles de vos clients sur Exchange Online vers [...]
Lire la suitePetit à petit, le cloud change la manière dont nous consommons l’informatique. Nous entendons de plus en plus parler d’hybridation, de mise à l’échelle, de disponibilité des données … Même si certains de ces aspects du monde IT existaient déjà, le cloud les démocratise. Cependant, tout n’est pas rose dans l’univers nuageux. En effet, en […]
Lire la suite