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
| Private Sub AML_Mail_Button_Click()
Dim rst As DAO.Recordset
Dim strSQL As String
Dim strMessageType As String
Dim strTitre As String
Dim strMsg As String
Dim c As New Collection
Dim elementChemin As String
Dim element As String
Dim strContractor as String
' Titre du message
strTitre = "En retard !"
' Message type à expédier
' Les signes {...} seront remplacés plus loin par
' les infos de l'employé
strMessageType = "Cher manager," _
& vbCrLf & vbCrLf _
& "Nous avons remarqué que {Worker_Name} - qui vous rapporte, est en retard pour bla bla bla... " & vbCrLf & vbCrLf _
& vbCrLf & "Merci de votre collaboration"
' Ouverture de la requête
' (seuls les employés n'ayant pas de completion status sont concernés ici)
strSQL = "SELECT * FROM [QRY_AML_Contractors_ToEmail]" _
& " WHERE [Completion_Status] IS NULL"
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)
strContractor =""
' Parcourir la liste des contractors
While Not rst.EOF
'Construire la suite des noms des contractors défaillants
strContractor = strContractor & "," & rst("Contract_Worker_Name")
'On joint le job-aid
element = "S:\CG"
c.Add element
' Employé suivant
rst.MoveNext
Wend
'On enlève la dernière virgule rajoutée
strContractor =left(strContractor,len(strContractor)-1)
' Construire un message personnalisé
' (on remplace chaque {...} du message par la concaténation des noms des contractors
strMsg = Replace(strMessageType, "{Worker_Name}", strContractor )
' Expédier le mail
SendMail "adressemailxxx", rst("Email"), strTitre, strMsg, "", c
' On libère les ressources
rst.Close
Set rst = Nothing
' Un petit message de confirmation
Msgbox "Opération terminée !", vbInformation, "V"
End Sub |
Partager