EMail avec la date dans le corps
John76120
Messages postés
2
Statut
Membre
-
John76120 Messages postés 2 Statut Membre -
John76120 Messages postés 2 Statut Membre -
Bonjour,
tout d'abord, j'ai recherché mon problème mais en vain, donc je poste celui ci :).
Alors je m'explique, j'ai fais une application access ou j'ai 2 tables une avec les utilisateurs (nom, prenom, email) et une autre avec des "sauvegardes" (sauvegarderécente, datesauv). Alors voila, je cherche si un utilisateur n'a pas fais de sauvegarde récente, c'est à dire si sauvegarderécente n'est pas cochée alors on lui envoit un mail en lui disant "Votre dernière sauvegarde date du "##/##/####", vous devez sauvegarder. J'ai réussi le code pour envoyer le mail :
Sub envoi_Click()
' Initialisation :
Dim ListeEMail As Recordset
Dim DateSauv As Date
Set ListeEMail = CurrentDb.OpenRecordset("Select * from R_PASRECENT")
DateSauv = ListeEMail.Fields(0)
ListeEMail.MoveFirst
ListeComplete = ""
' Parcourt de la requête :
While Not ListeEMail.EOF
ListeComplete = ListeComplete & ListeEMail("UTI_MAIL") & ";"
ListeEMail.MoveNext
Wend
' On enlève le dernier point virgule :
ListeComplete = Left(ListeComplete, Len(ListeComplete) - 1)
' Stop DAO :
ListeEMail.Close
Set ListeEMail = Nothing
' 2. Envoi de l'E-Mail avec Outlook :
' Initialisation :
Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
' Préparation du message :
MonMessage.To = "Xxxxx@xxxx.com"
' Récupération de la chaîne d'E-Mails Access :
MonMessage.BCC = ListeComplete
MonMessage.Subject = "Sauvegarde"
Corps = "Bonjour,"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Votre dernière sauvegarde date du " & DateSauv & ", pensez à sauvegarder."
MonMessage.Body = Corps
' C'est parti :
MonMessage.Send
' Fermeture de la session Outlook :
Set MonOutlook = Nothing
End Sub
L'envoi de mail marche parfaitement mais le soucis c'est que dans ma requête R_PASRECENT" où je sors le mail et la derniere date de sauvegarde utiliser plus haut. Et bien le mail est bien envoyer à tout le monde mais le problème et que la DateSauv correspond à la première de ma requête et non la date pour chaque utilisateur. Par exemple, pour l'utilisateur Jean qui n'a pas fais de sauvegarde récente, on a son adresse mail et sa date de derniere sauvegarde et pour un utilisateur guillaume on lui envoie aussi un mail la date de derniere sauvegarde correspond à celle de Jean et non la sienne. J'espere avoir était assez clair les amis :).
Surtout que je suis sur que ce n'est rien de méchant ^^. Merci.
tout d'abord, j'ai recherché mon problème mais en vain, donc je poste celui ci :).
Alors je m'explique, j'ai fais une application access ou j'ai 2 tables une avec les utilisateurs (nom, prenom, email) et une autre avec des "sauvegardes" (sauvegarderécente, datesauv). Alors voila, je cherche si un utilisateur n'a pas fais de sauvegarde récente, c'est à dire si sauvegarderécente n'est pas cochée alors on lui envoit un mail en lui disant "Votre dernière sauvegarde date du "##/##/####", vous devez sauvegarder. J'ai réussi le code pour envoyer le mail :
Sub envoi_Click()
' Initialisation :
Dim ListeEMail As Recordset
Dim DateSauv As Date
Set ListeEMail = CurrentDb.OpenRecordset("Select * from R_PASRECENT")
DateSauv = ListeEMail.Fields(0)
ListeEMail.MoveFirst
ListeComplete = ""
' Parcourt de la requête :
While Not ListeEMail.EOF
ListeComplete = ListeComplete & ListeEMail("UTI_MAIL") & ";"
ListeEMail.MoveNext
Wend
' On enlève le dernier point virgule :
ListeComplete = Left(ListeComplete, Len(ListeComplete) - 1)
' Stop DAO :
ListeEMail.Close
Set ListeEMail = Nothing
' 2. Envoi de l'E-Mail avec Outlook :
' Initialisation :
Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
' Préparation du message :
MonMessage.To = "Xxxxx@xxxx.com"
' Récupération de la chaîne d'E-Mails Access :
MonMessage.BCC = ListeComplete
MonMessage.Subject = "Sauvegarde"
Corps = "Bonjour,"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Votre dernière sauvegarde date du " & DateSauv & ", pensez à sauvegarder."
MonMessage.Body = Corps
' C'est parti :
MonMessage.Send
' Fermeture de la session Outlook :
Set MonOutlook = Nothing
End Sub
L'envoi de mail marche parfaitement mais le soucis c'est que dans ma requête R_PASRECENT" où je sors le mail et la derniere date de sauvegarde utiliser plus haut. Et bien le mail est bien envoyer à tout le monde mais le problème et que la DateSauv correspond à la première de ma requête et non la date pour chaque utilisateur. Par exemple, pour l'utilisateur Jean qui n'a pas fais de sauvegarde récente, on a son adresse mail et sa date de derniere sauvegarde et pour un utilisateur guillaume on lui envoie aussi un mail la date de derniere sauvegarde correspond à celle de Jean et non la sienne. J'espere avoir était assez clair les amis :).
Surtout que je suis sur que ce n'est rien de méchant ^^. Merci.
A voir également:
- EMail avec la date dans le corps
- Comment creer un compte email - Guide
- Cette photo n’a pas été prise cette année. trouvez la date, l'heure et avec quel modèle d'appareil photo elle a été prise. ✓ - Forum Graphisme
- Facebook piraté et adresse email changé - Guide
- Mon email ✓ - Forum Mail
- Jm date avis - Forum Consommation & Internet