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 :

Confection d une base envoie de mail par outlook [AC-2013]


Sujet :

Access

  1. #21
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Salut User j ai mal poster ma demande
    Bon
    En faite voila je vais te décrire le processus.
    En faite la carte diayma est une carte de payement numérique qui est incorporé a des caisses . le systeme diayma par le biais d un Vpn interne des logiciels de caisse nous transmet les informations de toutes les transactions qui on était faite au niveau de ces caisses. Aprés discussion avec la société créatrice il m on généré de maniére journaliére un fichier mbd avec l ensemble des transactions effectue ce fichier est la table T_transaction en faite dans ma 1er base que j avais poster la base été divisé en 2.

    1- La base contenant l infrastructure pour envoyé le mail en pdf
    2- La Base T_Transaction Mis a jour a partir du VPN

    Donc le renseignement des données de cette base n est pas néccessaire car elle est externe

    Je te pose mon ancienne base pour que tu te fasse une idée dans cette base j ai enlevé le fichier attaché . je l ai remplacé par une table similaire en forme a la table attachée issue du VPN cette table se nomme "groupe" en faite dans cette base j ai créer une macro mail qui envoie une mail individuel par outlook et clickyes a ensemble des clients
    merci encore
    Fichiers attachés Fichiers attachés
    il faut de tout pour faire un monde

  2. #22
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #23
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Merci User
    Merci pour le taf
    Jai tester la base que tu ma envoyé mais en faite mon soucis c est que je voudrais savoir s il existe une solution me permettant juste en remplissant
    la table diayma en locurance les infos du client d avoir un envoie groupé de tous les clients renseignés dans cette table
    exemple

    quand si je click sur un bouton mail qu il menvoie les 147 pdf des noms de clients qui sont actuellement présent dans la table diayma et lorsque j ajout les infos de
    user
    num nom prenom email
    100 user developpez user@develipez.com
    que lorsque je click sur le bouton mail
    que 148 pdf sont envoyé bien sur chaque client avec son historique de carte

    en faite je voudrais juste renseigner la table diayma est que par le bias d une macro pouvoir envoyé des mails en pdf
    en faite dans la base que je t ai poster j ai creer une requete un etat et une macro pour chaque client qui sont dans la table diayma puis dans la macro mail je rajoute pour chaque nouveau client sa macro . La j ai 147 nom imagine quand j aurai 1470 sa risque de devenir ingérable

    merci encore
    il faut de tout pour faire un monde

  4. #24
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut
    User Que penses-t-il du modèle que j'ai proposé ? Avec l aide de malick elle m'a l air beaucoup plus abouti que la mienne mais bon je te laisse seul juge
    il faut de tout pour faire un monde

  5. #25
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Eh bien tu fais une boucle avec un Recordset...

    Pour chaque client qui possède une @Mail, tu passes son ID à l'État qui sur l'événement Open :
    1. créé le PDF dans le dossier PDF à la racine de l'application
    2. récupère le chemin complet du PDF généré (après avoir vérifé qu'il existe bien)
    3. constitue le mail (par ex outlook) avec les éléments requis : Recipient, CC, Subject, Body et Attachments
    4. exécute l'envoi du mail
    5. ferme l'état
    6. passe au client suivant.


    Il y a de nombreux exemples d'envoi de mails avec Outlook et pour le problème de ClickYes, alors vise plutôt l'envoi de mail via CDO.
    Le principe est quasiment le même.

    Je pense qu'il est nécessaire repenser ta conception d'envoi en créant un formulaire qui liste tous les clients (dans un ListBox par exemple ou un sous formulaire continue) nantis d'un mail valide (récupère une fonction de validation de mail sur le forum) et exécuter l'envoi en boucle jusqu'au dernier.
    Cela te fera une seule opération pour x clients et ce, quel qu'en soit le nombre.

    A part ta probable méconnaissance du modèle objet Access / Outlook (tu ne précises pas) , je ne vois pas trop où tu rencontres un problème.

    Ecris le cheminement sur papier ou dans un module en tant que commentaire à la volée et écris le code idoine qui s'intercale entre chaque ligne de ces commentaires.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  6. #26
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Désolé pour le retard, j'étais en déplacement.

    Pour reprendre l'idée d'Argy...

    Tout d'abord, il te faut créer une fonction comme suit :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Private Sub EnvoyerEmail(doc As String, Email As String, sujet As String, Message As String)
    Dim Reponse As Integer
    Dim objOutlook As Object
    Dim MonMessage As Object
     
    On Error GoTo Erreur
    'Vérifier que l'adresse existe
     
    DoCmd.OutputTo acOutputReport, doc, "PDF", CurrentProject.Path & "\relevé_carte.pdf"
     
      'Assigner l'objet Outlook
    Set objOutlook = CreateObject("Outlook.Application")
    'Composer le message
    Set MonMessage = objOutlook.createitem(0) 'ouvrir une structure de message1
    MonMessage.To = Email
    MonMessage.Subject = sujet
    'Corps du message
     
    MonMessage.Body = Message
     
    '-------------------
    MonMessage.Attachments.Add CurrentProject.Path & "\relevé_carte.pdf"
    MonMessage.send
    'Fermer Outlook
     
    'Libérer la mémoire
    Set objOutlook = Nothing
    Set MonMessage = Nothing
     
    Exit Sub
    Erreur:
     
    Select Case Err.Number
       Case -2147467259  ' adresse invalide
             MsgBox "Adresse e-mail invalide"
     
       Case 2501
             MsgBox Err.Number & " " & Err.Description
    End Select
     
    End Sub
    Ensuite, tu appelles cette fonction dans la boucle vue précédemment, comme ceci :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Private Sub CmdEnvoyer_Click()
     
    On Error GoTo err_Mailing
     
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
     
        If (MsgBox("souhaitez-vous envoyer les email aux clients ?", vbYesNo) = vbYes) Then
     
          Set db = CurrentDb
          Set rs = db.OpenRecordset("Diayma")
     
          Do Until rs.EOF
            If (Nz(rs!Email, "") <> "") Then
               Me.numcarte = rs!numcarte
               EnvoyerEmail "R_ReleveCarte", rs!Email, Nz(Me.Objet, "Transaction"), Nz(Me.Message, "Détail de votre transaction !")
            End If
            rs.MoveNext
          Loop
     
          rs.Close
          Set rs = Nothing
     
          db.Close
          Set db = Nothing
     
       End If
     
     
    Exit Sub
     
        'en cas d'erreur
    err_Mailing:
     
        MsgBox ("L'erreur suivante a eu lieu : " & vbCrLf & Err.Description)
     
    End Sub
    Avec ça tu devrais t'en sortir

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #27
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Le paramètre au niveau de la requête "Relevé_carte", permet d'avoir un résultat dynamique qui change en fonction du numéro de carte et d'éviter la création d'une cinquantaine de requêtes voir plus (1 par numéro de carte)
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  8. #28
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Merci a vous
    spécial a argyronet pour les conseils
    a user pour le taf du tonnerre
    et a malick
    merci
    il faut de tout pour faire un monde

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/03/2010, 22h14
  2. [SQL]Envoie de mail par une procedure
    Par yoyopi dans le forum DB2
    Réponses: 19
    Dernier message: 22/02/2008, 16h30
  3. Envoi de mails par Outlook
    Par popofpopof dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/06/2007, 20h54
  4. [VB.NET] Envoie de mail par outlook
    Par olbi dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/04/2006, 17h03
  5. Envoi d'une base de données MySQL par e-mail
    Par Paulinho dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 27/12/2005, 00h22

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