IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Export d'un etat au Format PDF ultra lent [AC-365]


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 505
    Points : 191
    Points
    191
    Par défaut Export d'un etat au Format PDF ultra lent
    Bonjour à tous,

    Voici un exemple de mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    report_name = "E_emprunts_livres"
    filter_name = "pk_user=" & p_user
     
    pdf_name = "C:\tmp\bilan_emprunts_par_user.pdf"
     
     DoCmd.OpenReport report_name, acViewPreview, , filter_name, acHidden
      DoCmd.SetWarnings False
      DoCmd.OutputTo acOutputReport, report_name, acFormatPDF, pdf_name
      DoCmd.SetWarnings True
     DoCmd.Close acReport, report_name, acSaveNo
    Si le pdf_name est "C:\tmp\bilan_emprunts_par_user.pdf" c'est immédiat,
    Si le pdf_name est qq ch comme "\\monserveur\titi\dossier_emprunts\bilan_emprunts_par_user.pdf"=> ça met 45 secondes pour exécuter la ligne ci dessous et je peux avoir ACCES ne répond pas .... c'est flippant .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OutputTo acOutputReport, report_name, acFormatPDF, pdf_name
    Je peux avoir jusqu’à 40 fois à exécuter ce bout de code .. c'est ingérable

    Est ce une lenteur liées à Access ? c'est super bloquant !

    Note : j'accède au serveur derrière un VPN.
    Merci de vos idées et conseils .

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .net - Office - Quadiant
    Inscrit en
    Février 2020
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur .net - Office - Quadiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2020
    Messages : 585
    Points : 1 080
    Points
    1 080
    Par défaut
    Bonjour,

    D'un coté c'est ton PC et de l'autre le serveur avec des sous-répertoires, donc c'est souvent normal que tu ais un décalage de temps.

    Je pense qu'il faut voir cela coté serveur.

    ONTAYG

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 143
    Points : 1 668
    Points
    1 668
    Par défaut
    Salut,

    A tester:
    1) Enregistrer temporairement l'état en local.
    2) Faire une copie vers sa destination finale avec les fonctions de manipulation du système de fichiers (de préférence FSO).
    3) Détruire le fichier temporaire.

    Tu peux également faire un test manuel:
    Copie un fichier sur le serveur via l'explorateur.

  4. #4
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 421
    Points : 2 181
    Points
    2 181
    Par défaut
    Le problème que vous rencontrez pourrait être lié aux performances liées à l'accès distant au fichier PDF via le chemin réseau (`\\monserveur\titi\dossier_emprunts\bilan_emprunts_par_user.pdf`). Les accès réseau peuvent être plus lents que les accès locaux, surtout s'il y a des problèmes de latence ou de connectivité.

    Une solution pourrait être de copier d'abord le fichier PDF vers un répertoire local avant d'utiliser `DoCmd.OutputTo`. Voici une modification de votre code qui fait cela :


    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Sub ExportPDF()
     
        Dim report_name As String
        Dim filter_name As String
        Dim pdf_name As String
        Dim local_pdf_name As String
     
        report_name = "E_emprunts_livres"
        filter_name = "pk_user=" & p_user
     
        ' Spécifiez le chemin local où vous souhaitez copier le PDF
        local_pdf_name = "C:\tmp\local_bilan_emprunts_par_user.pdf"
     
        ' Copie le fichier PDF vers le répertoire local
        FileCopy "\\monserveur\titi\dossier_emprunts\bilan_emprunts_par_user.pdf", local_pdf_name
     
        ' Ouvre le rapport en mode aperçu
        DoCmd.OpenReport report_name, acViewPreview, , filter_name, acHidden
     
        ' Désactive les avertissements
        DoCmd.SetWarnings False
     
        ' Exporte le rapport au format PDF
        DoCmd.OutputTo acOutputReport, report_name, acFormatPDF, local_pdf_name
     
        ' Réactive les avertissements
        DoCmd.SetWarnings True
     
        ' Ferme le rapport
        DoCmd.Close acReport, report_name, acSaveNo
     
        ' Supprime le fichier PDF local si nécessaire
        ' Commentez la ligne suivante si vous souhaitez conserver le fichier local
        Kill local_pdf_name
     
    End Sub

    Cette modification copie d'abord le fichier PDF distant vers un répertoire local, puis l'ouvre en mode aperçu, l'exporte au format PDF et le ferme. Vous pouvez ajuster le chemin local en fonction de vos besoins.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Exporter état au format PDF
    Par jeanpierre78 dans le forum IHM
    Réponses: 5
    Dernier message: 19/08/2015, 22h22
  2. [AC-2010] Exporter un Etat au format pdf
    Par typouce dans le forum IHM
    Réponses: 3
    Dernier message: 10/02/2015, 17h44
  3. Exporter Etat en format pdf
    Par Philippe GARNIER dans le forum IHM
    Réponses: 2
    Dernier message: 24/10/2006, 13h39
  4. [CrystalReports] Exportation Etat au format PDF
    Par PtiBubu dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 06/02/2006, 17h47
  5. Réponses: 27
    Dernier message: 16/09/2005, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo