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
| Dim db As DAO.Database, qry As QueryDef
Dim rs As DAO.Recordset
Dim mail, erreur As String
Dim entreprise As String
Set db = CurrentDb
'On Error Resume Next
Set qry = db.QueryDefs("ReqEmail")
If Err.Number <> 0 Then
Set qry = db.CreateQueryDef("ReqEmail")
Err.Clear
End If
'On Error GoTo Err_buEnvoiMail_Click
Set rs = CurrentDb.OpenRecordset("SELECT [MaisonTest].Entreprise, [MaisonTest].[EMail] FROM [MaisonTest];")
While Not rs.EOF
qry.SQL = "PARAMETERS semaine Value;" & _
" SELECT Regie_base2.Societe, [Rqt_base_Analyse croisée].semaine,[MaisonTest].N° AS Code," & _
" [MaisonTest].Entreprise, Last(Regie_base2.Branche) AS DernierDeBranche, Last([MaisonTest].Nom) AS Reference, Last([MaisonTest].Rue) AS DernierDeRue," & _
" Last([MaisonTest].Npa) AS DernierDeNpa, Last([MaisonTest].Ville) AS DernierDeVille, Last([MaisonTest].Fax) AS DernierDeFax, Last(Regie_base2.Qualite) AS DernierDeQualite, " & _
" Last(Regie_horaire.Matricule) AS DernierDeMatricule, Last(Regie_base2.Nom) AS DernierDeNom, Last(Regie_base2.Prenom) AS DernierDePrenom, Last(Regie_base2.Centre_cout) AS DernierDeCentre_cout," & _
" Last([Rqt_base_Analyse croisée].[Total de Heures]) AS [DernierDeTotal de Heures], Last(Regie_base2.Tarif) AS DernierDeTarif, Last(([Total de Heures]*[Tarif])) AS Montant, [Rqt_base_Analyse croisée].lundi," & _
" [Rqt_base_Analyse croisée].mardi, [Rqt_base_Analyse croisée].mercredi, [Rqt_base_Analyse croisée].jeudi, [Rqt_base_Analyse croisée].vendredi" & _
" FROM ([Rqt_base_Analyse croisée] LEFT JOIN Regie_horaire ON [Rqt_base_Analyse croisée].Matricule = Regie_horaire.Matricule) LEFT JOIN (Regie_base2 LEFT JOIN [MaisonTest] ON Regie_base2.Code = [MaisonTest].N°)" & _
" ON [Rqt_base_Analyse croisée].Matricule = Regie_base2.Matricule" & _
" WHERE [MaisonTest].Entreprise = " & Chr(34) & rs("Entreprise") & Chr(34) & _
" GROUP BY Regie_base2.Societe, [Rqt_base_Analyse croisée].semaine, [MaisonTest].N°, [MaisonTest].Entreprise, [Rqt_base_Analyse croisée].lundi, [Rqt_base_Analyse croisée].mardi, [Rqt_base_Analyse croisée].mercredi, [Rqt_base_Analyse croisée].jeudi, [Rqt_base_Analyse croisée].vendredi" & _
" HAVING (((Regie_base2.Societe) = 'cimo') And (([Rqt_base_Analyse croisée].semaine) = [semaine]))" & _
" ORDER BY [MaisonTest].Entreprise DESC;"
entreprise = rs("Entreprise")
mail = rs("EMail")
If (mail <> "") Then
DoCmd.SendObject acReport, "etEmail", acFormatSNP, mail
Else
erreur = MsgBox("Pour cette entreprise il n'y a pas d'email valide.", vbOKOnly, "Email invalide")
End If
rs.MoveNext
Wend
rst.Close |
Partager