Bonjour
Petite contribution.
Pour m'être heurté pendant un moment sur ce problème, j'ai fini par trouver une solution
contexte:
Application access 2010, mais au format 2003 pour la sécurité utilisateur.
la base est scindée en 2, une frontale installée sur le client et une dorsale installée sur le réseau.
la problématique
pouvoir générer un rapport au format pdf sur un répertoire protégé du serveur.
Constat
Tant que la génération se passe en local, pas de problème.
Dès que la génération essaye de se faire sur le réseau, erreur 2501
Apparemment pas de problèmes de droits sur le serveur, on accède sans problème sur le répertoire partagé tant en lecture qu'en écriture, lorsque on passe par le navigateur windows.
l'ordre utilisé est le suivant
Après différents tests, j'ai pu constater que si on dirigeait la génération vers un répertoire réseau sans aucune restriction d'accès, cela fonctionnait comme en local.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DoCmd.OutputTo acOutputReport, "nom_etat", "PDFFormat(*.pdf)", chemin_sortie, False, "", , acExportQualityPrint
Analyse
Il semblerait en effet qu'à la différence des ordres classiques de bas niveau sur les fichiers qui héritent normalement des droits de l'utilisateur de l'application access,
l'exécution de l'ordre docmd.output avec l'option pdf n'en bénéficie pas mais déclenche une connexion anonyme sur le serveur et une erreur de sécurité lors de la génération du fichier
Solution mise en œuvre
J'ai contourné le problème en générant le fichier sur un répertoire local, puis de déplacer ensuite le fichier vers le réseau.
En espérant que cela puisse servir
Partager