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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| Option Compare Database
Private Sub btnEmail_Click()
Dim rst As DAO.Recordset
Dim strSQL As String
Dim strMessageType As String
Dim strTitre As String
Dim strMsg As String
Dim astrFichiers(1 To 1) As String
' Chemin des fichiers à joindre
astrFichiers(1) = "C:\Test reduction.docx"
' Titre du message
strTitre = "Joyeux Anniversaire- Société GROGNON"
' Message type à expédier
' Les signes {...} seront remplacés plus loin par
' les infos Client
strMessageType = "Bonjour <b>{Civilité} {Prénom} {Nom}</b>," _
& vbCrLf & vbCrLf _
& "Le {Date_naissance}, ce sera votre Anniversaire ! " _
& vbCrLf & vbCrLf _
& "En cette occasion," _
& vbCrLf & vbCrLf _
& "Ambiances Créatives" _
& vbCrLf & vbCrLf _
& "est heureuse de vous offrir," _
& vbCrLf & vbCrLf _
& "20% de réduction sur l'ensemble de la boutique!." _
& vbCrLf & vbCrLf _
& vbCrLf & "Vous souhaitant encore un Joyeux Anniversaire ! :-)" _
& vbCrLf & vbCrLf & "-- Société GROGNON."
astrFichiers(1) = "C:\Test reduction.docx"
' Ouverture de la requête
' (seuls les clients ayant un email sont concernés ici)
strSQL = "SELECT * FROM [R_anniversaire]" _
& " WHERE [Email] IS NOT NULL"
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)
' Parcourir la liste des clients
While Not rst.EOF
' Construire un message personnalisé
' (on remplace chaque {...} du message par les champs
' équivalents de la requête
strMsg = Replace(strMessageType, "{Civilité}", rst("Civilité"))
strMsg = Replace(strMsg, "{Nom}", rst("Nom"))
strMsg = Replace(strMsg, "{Prénom}", rst("Prénom"))
strMsg = Replace(strMsg, "{Date_naissance}", rst("Date_naissance"))
' Expédier le mail
SendOLMail rst("Email"), strTitre, strMsg, False, astrFichiers(1)
astrFichiers(1) = "C:\Test reduction.docx"
' Client suivant
rst.MoveNext
Wend
' On libère les ressources
rst.Close
Set rst = Nothing
' Un petit message de confirmation
MsgBox "Opération terminée !", vbInformation, "Mail de Société GROGNON"
End Sub
Private Sub Form_Open(Cancel As Integer)
' Annuler l'ouverture du formulaire de rappel
' si la requête qui l'alimente ne contient
' aucune ligne
If Me.RecordsetClone.RecordCount = 0 Then
Cancel = True
End If
End Sub |
Partager