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 :

enregistrer un état en PDF dans un champ pièce jointe [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 20
    Par défaut enregistrer un état en PDF dans un champ pièce jointe
    Bonjour.
    Je possède une table tbllisteactes, comportant différents champs, dontune clé primaire noenregistrement.
    A partir d'un sous-formulaire (mode continu) frmlisteactes, j'accède à un frmactes pour chaque enregistrement.
    Sur ce formulaire, j'ai créé un bouton me permettant d'enregistrer le rapport rptacte, généré à partir de ce formulaire, en PDF, précisemment là où je veux.

    Mon code fonctionne bien:
    Private Sub PDF_Click()
    Dim strEtat As String
    On Error Resume Next
    strEtat = "rptacte"
    'Aperçu de l'acte
    DoCmd.OpenReport strEtat, acViewPreview, , "[noenregistrement]=" & Me![noenregistrement]
    'Conversion de l'acte en PDF
    DoCmd.OutputTo acOutputReport, "rptacte", acFormatPDF, "C:\Users\secint3\Documents\actesadmin\sauvegardeactes\CAno " & Forms![frmlisteactes].noCA & "\CA " & Forms![frmlisteactes].noCA & "acte" & Me.noenregistrement & ".pdf"

    'affichage du budget s'il s'agit d'un voyage
    If Me.nomfrm = "frm05" Then
    'Aperçu du budget
    DoCmd.OpenReport "frm05c", acViewPreview, , "[noenregistrement]=" & Me![noenregistrement]
    'Conversion du budget en PDF
    DoCmd.OutputTo acOutputReport, "frm05c", acFormatPDF, "C:\Users\secint3\Documents\actesadmin\budgetprevisionnelCA" & Forms![frmlisteactes].noCA & "acte" & Me.noenregistrement & ".pdf"
    End If
    End Sub
    Mais comme j'aime compliquer les choses, j'aimerais enregistrer ce pdf dans un champ pièce jointe d'une table tblActesPDF.
    En effet, à chaque fin d'année, je désire archiver l'ensemble des Conseils d'administration et des actes inhérents. J'ai créé les macros pour çà, sans problème, vers une autre base, comme je l'ai vu dans les tutoriels.
    Mais je n'ai pas envie d'archiver toutes les tables nécessaires pour la création d'un acte (36...) et juste archiver le pdf.
    Peut-on donc enregistrer un pdf dans un champ pièce jointe automatiquement?
    Et est-ce conseillé? Y aurait-il une autre méthode?

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Par défaut
    Bonjour

    Un lien intéressant :
    http://warin.developpez.com/access/piecejointe/#LI

    Nota : si tu as beaucoup de fichiers à stocker, Pièce jointe n'est pas la bonne solution car ta base va prendre une taille important.
    Dans ce cas, il vaut mieux ne stocker dans une table que des liens vers un répertoire dédié ou, encore mieux, sans liens. (si besoin je t’expliquerai)

    titi95

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 20
    Par défaut
    Bonjour.
    Je pense qu'effectivement, passer par un champ pièce jointe serait trop lourd.
    Étant donné que j'ai déjà une sauvegarde des actes dans un répertoire dédié mis en place, il serait plus simple d'enregistrer le lien dans un champ de la table contenant les données des actes.
    L'emplacement de cette sauvegarde étant généré automatiquement, il faudrait que suite à l'enregistrement en PDF, ce lien soit enregistré dans la table.
    Comment faire çà en VBA?

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 20
    Par défaut
    J'ai trouvé toute seule.
    Après avoir rajouté un champ mémo lienActesPDF dans ma table, j'ai simplement rajouté cette bête ligne de code:
    'enregistrement du lien dans la table
    lienActesPDF = "C:\Users\secint3\Documents\actesadmin\sauvegardeactes\CAno " & Forms![frmlisteactes].noCA & "\CA " & Forms![frmlisteactes].noCA & "acte" & Me.noenregistrement & ".pdf"
    çà fonctionne.

    Il suffisait juste de me mettre sur la bonne voie! Merci beaucoup.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/07/2008, 15h10
  2. Réponses: 2
    Dernier message: 03/02/2007, 15h35
  3. Enregistrer l'état en PDF
    Par chasseur37 dans le forum Delphi
    Réponses: 11
    Dernier message: 21/09/2006, 11h25
  4. enregistrer une valeur > 250 caractère dans un champ
    Par zidenne dans le forum Administration
    Réponses: 4
    Dernier message: 04/09/2006, 10h42
  5. Réponses: 3
    Dernier message: 11/10/2005, 19h13

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