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
Gestion des périphériques mobiles, des tablettes Surface, amélioration du système d’authentification biométrique Windows Hello Nous le disons de plus en plus fort et ne sommes pas les seuls : oui, la sécurité informatique est au cœur de notre démarche [...]
Lire la suiteDans un monde toujours plus numérique, l’analyse de données est devenue une étape nécessaire pour toutes les entreprises. D’années en années, on produit un volume de plus en plus important de données mais cette masse s’avère totalement inutile si l’on ne peut pas la déchiffrer. Les outils de Business Intelligence tels que Microsoft Power BI […]
Lire la suiteDans un monde professionnel en constante évolution, la capacité à travailler de n’importe où est devenue une nécessité. Azure Virtual Desktop (AVD) répond à ce besoin en offrant un bureau virtuel accessible depuis n’importe quel appareil connecté à Internet. Cette solution de Microsoft permet aux collaborateurs d’accéder à leur environnement de travail complet et à […]
Lire la suite