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

Access Discussion :

envoi PDF par mail


Sujet :

Access

  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut envoi PDF par mail
    Bonjour,

    je souhaite sortir des etat access en fichier PDF pour pouvoir les envoyer par mail avec lotus Notes!

    jusqu' amaintenant j'ai reussi a cree les mails et a y mettre les pieces jointes.

    Cependant j'ai des soucis avec le code du tutoriel pour la creation des PDF

    dans la fonction suivante
    Code : 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
     
    Function getPDF(ByVal strReport As String, _
                    Optional ByVal allPages As Integer = acPrintAll, _
                    Optional ByVal pStart As Integer, _
                    Optional ByVal pEnd As Integer)
    Dim strOldPrinter As String
    Dim strPdfPrinter As String
    Dim dblStamp As Double
     
     
    ' récupération de l'imprimante par défaut
    strOldPrinter = GetDefaultPrinter
    ' attribution de l'imprimante PDF
    strPdfPrinter = "PDFCreator"
    SwitchDefaultPrinter strPdfPrinter
    ' récupération de la date / heure courante
    dblStamp = Now
    ' ajout du document dans la file d'attente
    addDocument strReport & IIf(allPages <> acPrintAll, " [" & pStart & "-" & pEnd & "]", ""), dblStamp
    ' ouverture de l'état par automation
    fOpenRemoteReport workdb.name, strReport, _
                    acViewPreview, allPages, _
                    IIf(allPages <> acPrintAll, pStart, 1), IIf(allPages <> acPrintAll, pEnd, 9999)
    ' réattribution de l'imprimante par défaut
    SwitchDefaultPrinter strOldPrinter
    ' gestion de la file d'attente des documents
    ScanPDFfiles
    End Function
    j'ai une erreur sur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ' ouverture de l'état par automation
    fOpenRemoteReport workdb.name, strReport, _
                    acViewPreview, allPages, _
                    IIf(allPages <> acPrintAll, pStart, 1), IIf(allPages <> acPrintAll, pEnd, 9999)
    qui me dit:
    erreur d'execution '424'
    objet requis

    j'ai tester de mettre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dim workDB as object
    mais j'ai de nouveau une erreur:
    erreur d'execution '91'
    variable object ou variable de bloc With non defini

    Help!!!!

    je ne m'en sort plus la ma connaissance etant vraimetn trop limitée!
    merci de votre aide!

  2. #2
    jpo
    jpo est déconnecté
    Membre éclairé
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Par défaut
    salut
    quelle est la version d'access?
    jp

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    La version est access 2003

  4. #4
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Salut

    Sous access 97 j'ai remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CurrentDb.Name
    Si tu souhaites conserver la déclaration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim workdb As DAO.DataBase
    Set workdb = CurrentDb

  5. #5
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    Merci cela m'avance un peu!

    seul souci c'est qu'il veut me reouvrir la base du coup!

    et donc il ouvre une seconde fois la base qui demande automatiquement de rentré son nom d'utilisateur et son mot de passe....

    ce qui n'est pas franchement le but rechercher!

    merci de me dire quoi si il y a une solution

  6. #6
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    le code que tu cites a été écrit dans un autre but que le tien : transformer des états d'une autre base en PDF.

    Si tu veux en faire un autre usage, il te faut adapter ce code.
    Il ne faut non pas utiliser fOpenRemoteReport (qui sert à ouvrir sur une base distante) mais tout seimple DoCmd.OpenReport

  7. #7
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    Bonjour Cafeine,

    merci de cette indication,

    donc il faut que je remplace a chaque fois fOpenRemoteReport par DoCmd.OpenReport ?

    mais l'un est une fonction est l'autre est une commande si je me trompe pas, donc l'utilisation est differente

    un dernier coup de pouce svp

  8. #8
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Le coup de pouce va venir de l'aide.

    regarde l'aide sur OpenReport

  9. #9
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    en fait c'est bon je maitrise l'open report et l'impression derriere, vu que la base edite pas moin de 9 documetn differents!

    maintenant le soucis que j'ai c'est apparament lors du renomage du fichier

    j'ai le message d'erreur suivant :

    3270 propriété non trouvé

  10. #10
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    bon j'ai resolu autrement, je ne fait appel qu'au changement d'imprimante, j'ouvre le formulaire et j'ai defini d'appeler le fichier Shipping.pdf dans PDFcreator

    comme ca pas de soucis pour rammener mla piece jointe dans le mail!

    seul souci si ca arrive a la crezation du mail trop vite, c'est le document precedent qui passe dans le mail, il me semble avoir appercu dans la faq un truc au sujet d'attendre qu'un autre programme ai fini...

  11. #11
    jpo
    jpo est déconnecté
    Membre éclairé
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Par défaut
    salut
    si cela peut t 'aider
    l'etat est parametré pour l'impression sur acrobat distiller ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Public Function Envoi_mail()
        Dim Out As Object
        Dim Message As Object
        Dim Fichier As String
        If MsgBox("Voulez-vous envoyer par mail", vbYesNo, "Envoi par mail ?") = vbYes Then
            Fichier = "i:\phil\commandemail.pdf"
            'Création du mail
            Set Out = CreateObject("Outlook.application")
            Set Message = Out.createitem(0)
            'Création de la pièce jointe
            '---------------------------
            Message.attachments.Add Fichier
            Message.display
        End If
    End Function
    voilà
    bon courage
    ++
    jp

  12. #12
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    Merci JP!

    mais ca ne me sera pas utile, l'entreprise ou je suis a la bonne idée de n'utiliser que Lotus notes!

    Sinon ca serait trop facile!

    mais c'est bon je suis sur la bonne voie, juste un souci de temps de creation du pdf qui fait que je dois surpimer le fichier apres ajout dans le mail, mais qu'il faut que je verifi sa presence avant la creation du mail...

    ca devrait aller! merci a tous pour votre aide!

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Par défaut
    Une petite fonction de temporisation qui peut t'être utile.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function wait(secondes As Integer) as Boolean
        Dim lDeb As Long, lFin As Long, lChrono As Long
        lDeb = Timer
        lFin = lDeb + secondes
        Do Until Timer >= lFin
            DoEvents
        Loop
    End Function

  14. #14
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    Oleff Merci!

    c'est bon j'ai une solution "correcte" pour le moment, ils s'ammuserons quand l'ets exterieur reprendra pour optimiser voir si ils peuvent faire mieux!


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

Discussions similaires

  1. [XL-2010] Envoi pdf par mail de excel
    Par stsc01 dans le forum Excel
    Réponses: 14
    Dernier message: 31/10/2013, 13h57
  2. Bouton Envois PDF par Mail
    Par joebar0212 dans le forum 4D
    Réponses: 3
    Dernier message: 12/02/2009, 07h36
  3. problème envoi pdf par mail
    Par ver_for dans le forum IHM
    Réponses: 4
    Dernier message: 01/06/2008, 09h18
  4. Envoi d'un fichier pdf par mail
    Par jpspci dans le forum Reports
    Réponses: 5
    Dernier message: 29/06/2007, 09h35
  5. envoie automatique d'un pdf par mail via redmon
    Par ipeteivince dans le forum Windows
    Réponses: 2
    Dernier message: 29/08/2006, 19h01

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