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
|
Private Sub Commande75_Click()
Dim rst As DAO.Recordset 'on dit que 'rst' sera un résulat d'enregistrements issu de la future requête
Dim sql As String 'on dit a vba que sql sera une chaine de caractère texte
Dim strMessageType As String 'le reste pareil, du texte...
Dim strTitre As String
Dim strMsg As String
'on initialise la variable des destinataires du mail
Dim liste_destinataires_annee As String
Dim compterst As Integer
Dim comptetotal As Integer
' Titre du message
strTitre = "Le message à envoyer par ...
' Message type à expédier
' on va chercher dans la table F_texte_mail
DoCmd.OpenForm "F_texte_mail", , , , , acDialog
strMessageType = DLookup("[mail_envoie_selection]", "mail_envoie_selection") 'la tble sur laquelle est basée le form F_texte_mail
sql = "SELECT T_Organisme.NomOrganisme, T_Organisme.cmbZone, T_Organisme.cmbPays, T_Organisme.StatutMembre, T_Organisme.StatutMembreindirect, T_Organisme.StatutPartenaire, T_Pays.Pays, T_Organisme.SectionAlliance, T_Organisme.SectionTaskForce, T_Organisme.SectioneCalypso, T_Organisme.SectionCCEurope, T_Organisme.SectionTRS, T_Organisme.TypeAcadémie, T_Organisme.TypeAssociation, T_Organisme.TypeAutorité, T_Organisme.TypeFondation, T_Organisme.TypeGouvernement, T_Organisme.TypeSociété, T_Organisme.TypeIndividuel, T_Organisme.WGparité, T_Organisme.WGaccessibilité, T_Organisme.WGyouth, T_Organisme.WGcoopintern, T_Organisme.PublicFamille, T_Organisme.PublicHandicap, T_Organisme.PublicJeunes, T_Organisme.PublicSeniors, T_Organisme.NatureDemande, T_Organisme.NatureOffre, T_Collaborateur.Nom, T_Collaborateur.Titre, T_Collaborateur.Titre, T_Collaborateur.Email "
sql = sql & "FROM (T_Pays INNER JOIN T_Organisme ON T_Pays.ID = T_Organisme.cmbPays) INNER JOIN T_Collaborateur ON T_Organisme.ID_Organisme = T_Collaborateur.id_Organisme "
sql = sql & "WHERE (((T_Organisme.NomOrganisme) Like IIf([Forms]![F_mails]![Filtreorganisme].[ListIndex]=-1," * " & [Forms]![F_mails]![Filtreorganisme] & " * ",[Forms]![F_mails]![Filtreorganisme])) AND ((T_Organisme.cmbZone) Like "
sql = sql & "IIf([Forms]![F_mails]![Filtrezone].[ListIndex]=-1," * " & [Forms]![F_mails]![Filtrezone] & " * ",[Forms]![F_mails]![Filtrezone])) AND ((T_Organisme.cmbPays) Like IIf([Forms]![F_mails]![Filtrepays].[ListIndex]=-1," * " & "
sql = sql & "[Forms]![F_mails]![Filtrepays] & " * ",[Forms]![F_mails]![Filtrepays])) AND ((T_Organisme.StatutMembre)=IIf(IsNull([Forms]![F_mails]![Checkmembre]),[StatutMembre],[Forms]![F_mails]![Checkmembre])) AND "
sql = sql & "((T_Organisme.StatutMembreindirect)=IIf(IsNull([Forms]![F_mails]![Checkmembreindirect]),[StatutMembreindirect],[Forms]![F_mails]![Checkmembreindirect])) AND "
sql = sql & "((T_Organisme.StatutPartenaire)=IIf(IsNull([Forms]![F_mails]![Checkpartenaire]),[Statutpartenaire],[Forms]![F_mails]![Checkpartenaire])) AND "
sql = sql & "((T_Organisme.SectionAlliance)=IIf(IsNull([Forms]![F_mails]![Checkalliance]),[SectionAlliance],[Forms]![F_mails]![Checkalliance])) AND ((T_Organisme.SectionTaskForce)=IIf(IsNull([Forms]![F_mails]![Checktaskforce]),[SectionTaskForce],[Forms]![F_mails]![Checktaskforce])) AND "
sql = sql & "((T_Organisme.SectioneCalypso)=IIf(IsNull([Forms]![F_mails]![Checkecalypso]),[SectioneCalypso],[Forms]![F_mails]![Checkecalypso])) AND ((T_Organisme.SectionCCEurope)=IIf(IsNull([Forms]![F_mails]![Checkcceurope]),[Sectioncceurope],[Forms]![F_mails]![Checkcceurope])) AND "
sql = sql & "((T_Organisme.SectionTRS)=IIf(IsNull([Forms]![F_mails]![Checktrs]),[Sectiontrs],[Forms]![F_mails]![Checktrs])) AND ((T_Organisme.TypeAcadémie)=IIf(IsNull([Forms]![F_mails]![Checkacadémie]),[TypeAcadémie],[Forms]![F_mails]![Checkacadémie])) AND "
sql = sql & "((T_Organisme.TypeAssociation)=IIf(IsNull([Forms]![F_mails]![Checkassociation]),[TypeAssociation],[Forms]![F_mails]![Checkassociation])) AND ((T_Organisme.TypeAutorité)=IIf(IsNull([Forms]![F_mails]![Checkautorité]),[TypeAutorité],[Forms]![F_mails]![Checkautorité])) AND "
sql = sql & "((T_Organisme.TypeFondation)=IIf(IsNull([Forms]![F_mails]![Checkfondation]),[TypeFondation],[Forms]![F_mails]![Checkfondation])) AND ((T_Organisme.TypeGouvernement)=IIf(IsNull([Forms]![F_mails]![Checkgouvernement]),[TypeGouvernement],[Forms]![F_mails]![Checkgouvernement])) AND "
sql = sql & "((T_Organisme.TypeSociété)=IIf(IsNull([Forms]![F_mails]![Checksociété]),[TypeSociété],[Forms]![F_mails]![Checksociété])) AND ((T_Organisme.TypeIndividuel)=IIf(IsNull([Forms]![F_mails]![Checkindividue]),[TypeIndividuel],[Forms]![F_mails]![Checkindividuel])) AND "
sql = sql & "((T_Organisme.WGparité)=IIf(IsNull([Forms]![F_mails]![Checkparité]),[WGparité],[Forms]![F_mails]![Checkparité])) AND ((T_Organisme.WGaccessibilité)=IIf(IsNull([Forms]![F_mails]![Checkaccessibilité]),[WGaccessibilité],[Forms]![F_mails]![Checkaccessibilité])) AND "
sql = sql & "((T_Organisme.WGyouth)=IIf(IsNull([Forms]![F_mails]![Checkyouth]),[WGyouth],[Forms]![F_mails]![Checkyouth])) AND ((T_Organisme.WGcoopintern)=IIf(IsNull([Forms]![F_mails]![Checkcoopintern]),[WGcoopintern],[Forms]![F_mails]![Checkcoopintern])) AND "
sql = sql & "((T_Organisme.PublicFamille)=IIf(IsNull([Forms]![F_mails]![Checkfamille]),[Publicfamille],[Forms]![F_mails]![Checkfamille])) AND ((T_Organisme.PublicHandicap)=IIf(IsNull([Forms]![F_mails]![Checkhandicap]),[Publichandicap],[Forms]![F_mails]![Checkhandicap])) AND "
sql = sql & "((T_Organisme.PublicJeunes)=IIf(IsNull([Forms]![F_mails]![Checkjeunes]),[Publicjeunes],[Forms]![F_mails]![Checkjeunes])) AND ((T_Organisme.PublicSeniors)=IIf(IsNull([Forms]![F_mails]![Checkseniors]),[Publicseniors],[Forms]![F_mails]![Checkseniors])) AND "
sql = sql & "((T_Organisme.NatureDemande)=IIf(IsNull([Forms]![F_mails]![Checkdemande]),[Naturedemande],[Forms]![F_mails]![Checkdemande])) AND ((T_Organisme.NatureOffre)=IIf(IsNull([Forms]![F_mails]![Checkoffre]),[Natureoffre],[Forms]![F_mails]![Checkoffre])));"
'on affecte à 'rst' le résultat de la requête
Set rst = CurrentDb.OpenRecordset(sql)
compterst = 0
comptetotal = 0
Do While Not rst.EOF 'tant qu'il reste des lignes dans le résultat de la requête
compterst = compterst + 1 'on incrémente de nombre de destinataires
comptetotal = comptetotal + 1 'on incrément le nombre TOTAL pour affichage final
rst.MoveNext 'on boucle
MsgBox compterst
Loop 'jusqu'à la fin de la requête |
Partager