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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
| Private Sub B_Envoyer_Click()
'Déclaration des variables
Dim MonOutlook As New Outlook.Application
Dim MonMessage As Outlook.MailItem
Dim MyAttachments As Outlook.Attachments
Dim Msg As String
Dim MsgAuto As String
Dim IntroLibre As String
Dim IntroAuto As String
Dim Signature As HTMLText
Dim Con As ADODB.Connection
Dim Jeu_Enr As ADODB.Recordset
Dim Jeu_Enr_ses As ADODB.Recordset
Dim txt As String
Dim CheminPJ As String
'Vérification du mode test
If Table_INF = "" Then Table_INF = "INFormation_Test"
If Chemin = "" Then Chemin = "C:\"
'Initialisation des objets
Set MonMessage = MonOutlook.CreateItem(0)
Set MyAttachments = MonMessage.Attachments
Set Con = CurrentProject.Connection
Set Jeu_Enr = New ADODB.Recordset
Set Jeu_Enr_ses = New ADODB.Recordset
'Gestion des pièces jointes
If Me.S_Bulletin_PDF = -1 Then
CheminPJ = Chemin & "Bulletin d'inscription.pdf"
DoCmd.OutputTo acOutputReport, "E_Doc_Envoi_Info_Bi", acFormatPDF, CheminPJ
MyAttachments.Add CheminPJ
End If
If Me.S_Programme_PDF = -1 Then
CheminPJ = Chemin & "Programme de formation.pdf"
DoCmd.OutputTo acOutputReport, "E_Doc_Programme_OPQF", acFormatPDF, CheminPJ
MyAttachments.Add CheminPJ
End If
SQl = "SELECT " & Table_INF & ".INF_Chemin, " & Table_INF & ".INF_Select, " & Table_INF & ".INF_Désignation" & _
" From " & Table_INF & _
" WHERE (((" & Table_INF & ".INF_Select)=True));"
Jeu_Enr.Open SQl, Con, adOpenForwardOnly, adLockReadOnly
SQl = "SELECT SESsions.*, REPertoire.*, STAge.*" & _
" FROM STAge RIGHT JOIN (SESsions LEFT JOIN REPertoire ON SESsions.SES_Lieu = REPertoire.REP_Num) ON STAge.STA_Num = SESsions.SES_Stage" & _
" WHERE (((SESsions.SES_Num)=" & Me.SES_Num & "));"
Jeu_Enr_ses.Open SQl, Con, adOpenForwardOnly, adLockReadOnly
Do While Not Jeu_Enr.EOF
If Dir(Jeu_Enr!INF_Chemin) <> "" Then
txt = Jeu_Enr!INF_Chemin
MyAttachments.Add txt
End If
Jeu_Enr.MoveNext
Loop
'Création du message
IntroAuto = "<FONT size='3'><FONT face='tahoma'>Bonjour,<br/><br/>Comme convenu, veuillez trouver ci-joints les documents et les informations relatifs à la formation : " & DLookup("STA_Titre", "STAge", "STA_Num =" & Me.SES_STA) & "."
IntroLibre = "Bonjour,"
Do While Not Jeu_Enr_ses.EOF
MsgAuto = MsgAuto & "<br/> - Durée : " & Jeu_Enr_ses!STA_Duree_j & " jour(s)"
MsgAuto = MsgAuto & "<br/> - Lieu : " & Jeu_Enr_ses!REP_Ville
If (Jeu_Enr_ses!STA_Duree_j > 1) Then
MsgAuto = MsgAuto & "<br/> - Dates : Du " & Jeu_Enr_ses!SES_DD & " au " & Jeu_Enr_ses!SES_DF
Else
MsgAuto = MsgAuto & "<br/> - Date : Le " & Jeu_Enr_ses!SES_DD
End If
Jeu_Enr_ses.MoveNext
Loop
If Me.S_Lien_Programme = -1 Then MsgAuto = MsgAuto & "<br/><br/> Vous pouvez également consulter le programme et vous inscrire directement sur notre nouveau site Internet en cliquant sur les liens ci-dessous : <br/> - Pour consulter le programme de la formation : " & "<a href=https://anofab.fr/" & Me.SES_STA & " >Cliquez ici</a><br/>"
If Me.S_Lien_Inscription = -1 Then MsgAuto = MsgAuto & " - Pour vous inscrire par Internet : <a href=http://www.anofab.fr/formation/stage/" & Me.SES_STA & "/" & Me.SES_Num & ">Cliquez ici</a>"
Select Case Me.S_Type_Message
Case 1 'Message automatique
Msg = IntroAuto & MsgAuto
Case 2 'Message libre
Msg = Me.SAI_Message
Case 3 'Message automatique + message libre
Msg = IntroAuto & MsgAuto & Me.SAI_Message
Case 4 'Message libre + message automatique
Msg = Me.SAI_Message & MsgAuto
Case Else: Exit Sub
End Select
Msg = Msg & "<br/><br/>Je reste à votre disposition pour toute information complémentaire, n'hésitez pas à me contacter.<br/><br/>Bien cordialement,"
With MonMessage
If Me.Voir = -1 Then
.Display
Else
.Send
End If
.To = Me.Destinataire 'destinataire
.Subject = Me.Objet 'objet
.HTMLBody = Msg & .HTMLBody
End With
'Déselection des documents
SQl = "UPDATE " & Table_INF & " SET " & Table_INF & ".INF_Select = False" & _
" WHERE (((" & Table_INF & ".INF_Select)=True));"
DoCmd.SetWarnings False 'désactive les messages d'info auto
DoCmd.RunSQL SQl
DoCmd.SetWarnings True 'active les messages d'info auto
'désallocation des objets
Jeu_Enr.Close
Set MonOutlook = Nothing
Set Con = Nothing
DoCmd.Close acForm, "F_Envoi_Info"
End Sub |
Partager