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
Azure AD Connect synchronise votre annuaire local (Active Directory On Premise) avec le cloud Azure et améliore la productivité de vos utilisateurs en leur fournissant un identifiant unique pour se connecter et accéder aux ressources du Cloud Microsoft ainsi qu’aux ressources locales de votre entreprise [...]
Lire la suiteTestée en version beta depuis novembre dernier, Microsoft Teams sera officiellement lancé le 14 mars prochain. Après Yammer, le réseau social d’entreprise, Microsoft souhaite créer un écosystème complet pour favoriser la collaboration en entreprise. Son dernier-né : Teams, qui a l’avantage de s’intégrer à la planète Office 365. Les fonctionnalités Microsoft Teams Présenté comme une […]
Lire la suitePour en savoir plus sur le déploiement de Teams pour le télétravail, vous pouvez consulter notre article : Comment déployer Teams pour gérer le télétravail de vos équipes ? Il y a 2 ans Microsoft lançait sur le marché le concept des Skype Room Systems : une interface de contrôle pour visioconférence avec possibilité de rejoindre […]
Lire la suite