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

IHM Discussion :

Envoi par pièce jointe en pdf [AC-2010]


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut Envoi par pièce jointe en pdf
    Bjr
    Dernières ligne droite, j'arrive au bout, seul petit souci, je voudrais envoyer en pj est en pdf mes états a différents destinataires.

    Quand je clique sur mon bouton rien ne se passe.
    Quelqu'un pourrait svp me dire ou est l'erreur.
    Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub cmdEnvoyer_Click()
    On Error GoTo err
        DoCmd.SendObject acSendReport, "EtatTourn", _
        "Forms!FormNavigation!SF_TournPatient.Form!DatePrint between [DebutSoins] and [FinSoins] And [Tournées] = Forms!FormNavigation!SF_TournPatient.Form!SelectTourn", _
            "PDF", "destinataire@fai.com", , , "Liste des clients", _
            "Veuillez trouver la liste des clients en pièce-jointe"
     
    fin:
    Exit Sub
     
    err:
    '    If err.Number <> 2501 Then err.Raise err.Number, , err.Description
        Resume fin
    End Sub

  2. #2
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Help please
    J'ai beau essayer de tourner dans tous les sens mais je n'arrive pas à passer la commande.
    Merci

  3. #3
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 626
    Points : 726
    Points
    726
    Par défaut la pièce jointe
    Bonjour,

    1 if faut au moins access 2007
    2 faut enlever la gestion d'erreur
    3 tente juste de lancer un aperçu de l'état

    Sinon ta commande sendobject n'a pas l'air conforme

    à bientôt

  4. #4
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    En lancant la commande sans mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Forms!FormNavigation!SF_TournPatient.Form!DatePrint between [DebutSoins] and [FinSoins] And [Tournées] = Forms!FormNavigation!SF_TournPatient.Form!SelectTourn"
    Ca marche très bien.

    Que veut tu dire par
    Sinon ta commande sendobject n'a pas l'air conforme
    Sinon j'ai bien office 2010 et j'ai supprimé la gestion d'erreur.

  5. #5
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 626
    Points : 726
    Points
    726
    Par défaut désolé
    Bonjour,

    Désolé je n'utilise plus cette propriété trop de galères de plus on ne peut envoyer qu'une seule pièce jointe.

    Ta commande est correcte sauf ...
    Que tu as besoin d'envoyer un état avec une clause et ça de mémoire pas possible.

    il faut avant d'envoyer l'état réattribuer propriété recordsource de ton état.
    a+

  6. #6
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Euh oui sauf que la tu parles en chinois pour moi ,-))
    Sinon comment je peux pour envoyer mon etat a différents destinataires ?
    Merci de ton aide

  7. #7
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 626
    Points : 726
    Points
    726
    Par défaut La méthode
    re,

    Je viens de retrouver du code que j'utilisais

    il faut tout d'abord déclarer une variable globale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public grst As String ' Requête pour états sans Recordsource
    Dans ton état
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Report_Open(Cancel As Integer)
        Me.RecordSource = grst
    End Sub
    Ensuite tu construis une requête que tu attribues à la variable globale
    et t’envoies la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    lasq = "SELECT * FROM tatable  WHERE macondition »
    grst = lasq
     
    DoCmd.SendObject acSendReport, "Monetat", acFormatPDF, lemailDest, , , LeTitre, letextemail, True
    Nota : une petite erreur dans mon poste de tout à l'heure
    je n'utilise plus cette commande à la place de propriété, j'avais la tête ailleurs.

    Voila à bientôt
    et bonne chance

  8. #8
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Merci Naphta
    Je vais tenter d'appliquer tes recommandations. C'est pas gagné avec mon niveau en vba proche du 0
    merci quand même

  9. #9
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Désolé mais la j'y arrive pas.
    Le problème c'est le filtre sur l'etat, est je s'ais pas comment faire avec.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Forms!FormNavigation!SF_TournPatient.Form!DatePrint between [DebutSoins] and [FinSoins] And [Tournées] = Forms!FormNavigation!SF_TournPatient.Form!SelectTourn"
    Quelqu'un pourait m'aider svp.

    Merci

  10. #10
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Bonjour Pascal5,
    Si tu prend la méthode de naphta en supposant que le nom de ta table est "Soin" ta requête doit être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    lasq = "SELECT Soin.* FROM Soin
    WHERE (((#" & Forms!FormNavigation!SF_TournPatient.Form!DatePrint & "#) Between [Soin].[Debut_soin] And [soin].[Fin_soin]) AND ((Soin.Tournées)=" & Forms!FormNavigation!SF_TournPatient.Form!SelectTourn & "));"
    grst = lasq
    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  11. #11
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Bsr Robert1957
    Tout dabord merci

    J'ai un message d'erreur en mettant ce code dans ma requette
    "Instruction SQL non valide : delete, insert etc etc Attendu"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    lasq = "SELECT R_Tournée.* FROM R_Tournée
    WHERE (((#" & Forms!FormNavigation!SF_TournPatient.Form!DatePrint & "#) Between [R_Tournée].[DebutSoins] And [R_Tournée].[FinSoins]) AND ((R_Tournée.Tournées)=" & Forms!FormNavigation!SF_TournPatient.Form!SelectTourn & "));"
    grst = lasq

  12. #12
    Membre expérimenté
    Avatar de mumen
    Homme Profil pro
    Développement à façon multisecteur.
    Inscrit en
    Mars 2004
    Messages
    566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Développement à façon multisecteur.

    Informations forums :
    Inscription : Mars 2004
    Messages : 566
    Points : 1 381
    Points
    1 381
    Par défaut
    Salut Pascal

    Le résultat final, rendu plus lisible c'est : (code au vol, à vérifier)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub cmdEnvoyer_Click()
        With Forms!FormNavigation!SF_TournPatient.Form        
            pubstrEtatTourn_RecordSource = "SELECT * FROM R_Tournée" _
                & " WHERE (" & DatePourSql( !DatePrint) & " Between [DebutSoins] And [FinSoins])" _
                & " AND Tournées = " & !SelectTourn    
        End With   
        DoCmd.SendObject acSendReport, "EtatTourn", "PDF" _
            , "destinataire@fai.com", , , _
            , "Liste des clients", "Veuillez trouver la liste des clients en pièce-jointe"
    End Sub
     
    Function DatePourSql(xDate)
        DatePourSql = "#" & Month(xDate) & "-" & Day(xDate) & "-" & Year(xDate) & "#"
    End Function
    J'ai juste ajouté le traitement préparatoire aux dates en SQL pour t'éviter des surprises.

    Au début du code de l'état :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public pubstrEtatTourn_RecordSource As String
    Dans le code de l'état avec la procédure événementielle activée depuis les propriétés de l'état.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Report_Open(Cancel As Integer)
        Me.RecordSource = pubstrEtatTourn_RecordSource
    End Sub
    J'ai mis un nom compliqué pour la variable publique, car c'est plus sage comme ça.

  13. #13
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Bonjour Mathieu,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    J'ai juste ajouté le traitement préparatoire aux dates en SQL pour t'éviter des surprises.
    Tu forces la saisie des dates sous la forme mois, jour et année. Peux-tu m'expliquer pourquoi. Je vois bien ce que tu fais mais je ne vois pas pourquoi.
    Merci à l'avance
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  14. #14
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Merci Mumen c'est gentil de revenir me donner un coup de pouce.
    C'est beaucoup plus clair comme ça.

    J'ai malgré tout une erreur "Variable non définie"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     pubstrEtatTourn_RecordSource = "SELECT * FROM R_Tournée" _

  15. #15
    Membre expérimenté
    Avatar de mumen
    Homme Profil pro
    Développement à façon multisecteur.
    Inscrit en
    Mars 2004
    Messages
    566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Développement à façon multisecteur.

    Informations forums :
    Inscription : Mars 2004
    Messages : 566
    Points : 1 381
    Points
    1 381
    Par défaut
    Pascal,

    La définition de cette variable à lieu dans l'état avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public pubstrEtatTourn_RecordSource As String
    Tu l'as bien mise ? fais un rechercher à travers le projet de cette variable, tu devrais la trouver trois fois.


    Robert, la représentation en chaîne des dates par le VBA dépend des préférences locales. En France, cela donne JJ/MM/AAAA. Le SQL attend de explicitement la représentation US qui est #MM/JJ/AAAA#. Voir ici

    Si on ne respecte pas cette contrainte, on se retrouve avec des aberrations.

  16. #16
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Merci Mathieu,
    Je croyais qu'Access faisait la conversion. Ici nous travaillons avec le format #AAAA-mm-jj# et je n'ai pas rencontré ce genre de problème. Mais à l'avenir j'utiliserai ta méthode juste au cas...
    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  17. #17
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Une image vaut mieux qu'un grand discourt.




    Merci Mathieu

  18. #18
    Membre expérimenté
    Avatar de mumen
    Homme Profil pro
    Développement à façon multisecteur.
    Inscrit en
    Mars 2004
    Messages
    566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Développement à façon multisecteur.

    Informations forums :
    Inscription : Mars 2004
    Messages : 566
    Points : 1 381
    Points
    1 381
    Par défaut
    Et l'autre code, tu peux le mettre aussi ?

  19. #19
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 119
    Points : 49
    Points
    49
    Par défaut
    Voila

  20. #20
    Membre expérimenté
    Avatar de mumen
    Homme Profil pro
    Développement à façon multisecteur.
    Inscrit en
    Mars 2004
    Messages
    566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Développement à façon multisecteur.

    Informations forums :
    Inscription : Mars 2004
    Messages : 566
    Points : 1 381
    Points
    1 381
    Par défaut
    Salut Pascal,

    Quelque chose à changé depuis Access 97, il me semble :
    la variable que je te fais déclarer dans l'état n'est pas vue de l'extérieur. il faut la déclarer dans le module pour que l'état en ait connaissance.

    Donc, déplace ceci d'un module à l'autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public pubstrEtatTourn_RecordSource As String

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Upload + envoi de pièce jointe par mail
    Par cover70 dans le forum Langage
    Réponses: 3
    Dernier message: 07/12/2012, 14h54
  2. Envoie une pièce jointe par mail en RPGle
    Par Lisogane dans le forum AS/400
    Réponses: 2
    Dernier message: 03/03/2011, 17h57
  3. XBAP - Envoi de pièce jointe par mail
    Par YHDVP dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 22/10/2009, 16h56
  4. Réponses: 6
    Dernier message: 13/05/2009, 12h55
  5. Réponses: 7
    Dernier message: 30/06/2006, 17h12

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