IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Envoi mail aux résultats d'une requête


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut Envoi mail aux résultats d'une requête
    Bonjour,

    J'aimerais envoyer un mail type à toutes les personnes étant le résultat d'une requête (tous ceux de la base ayant telles caractéristiques).

    J'ai troouvé ça dans les sources du site :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
    Versions : Access 2000 et supérieures
     
    Pour que cet exemple fonctionne vous devez activer les références Microsoft DAO et Microsoft Outlook
     
    Ce module reprend le principe d'envoie de NewsLetter aux clients d'une société. La base de données se compose notamment d'une table nommée clients où figure un champ (ChampEmailClient) où est stockée l'adresse mail de chaque client.
     
    Le principe est trés simple il suffit d'enrichir la propriété BCC (copie carbone cachée) de l'objet oMail à partir de la liste des clients.
     
    On aura ainsi :
     
    oMail.BCC="toto@domaine.fr; titi@domaine.fr; tata@domaine.com"
     
    Public Sub EnvoiMassif()
    'Ajouter les références suivantes :
    'Microsoft Outlook
    'Microsoft DAO
    Dim oApp As Outlook.Application
    Dim oMail As Outlook.MailItem
    Dim strContenu As String
    Dim oRst As DAO.Recordset
    Dim oFld As DAO.Field
    Dim strTo As String
    'Instancie Outlook
    Set oApp = CreateObject("Outlook.Application")
    'Crée un nouveau message
    Set oMail = oApp.CreateItem(olMailItem)
    oMail.Body = "Bonjour," & vbCrLf & _
                 "Venez retrouver l'ensemble de nos produits sur notre site Web" & _
                 vbCrLf & "http://www.notresite.fr"
     
    'Ouvre un recordset sur les clients
    Set oRst = CurrentDb.OpenRecordset("SELECT * FROM Clients")
    'Boucle sur chaque client et les ajoute au champ BCC du mail
    While Not oRst.EOF
      strTo = strTo & oRst.Fields("ChampEmailClient") & "; "
      oRst.MoveNext
    Wend
    'Supprime la dernière virgule
    oMail.BCC = Left(strTo, Len(strTo) - 2)
    oMail.Subject = "NewsLetter " & Date
    'Envoi le mail
    oMail.Send
    'ferme le curseur
    oRst.Close
    Set oRst = Nothing
    'Ferme Outlook
    oApp.Quit
    Set oApp = Nothing
    End Sub
    Le Visual c'est pas trop mon truc mais je comprends à peu près l'idée.
    J'aurais quand même quelques questions.

    1- Est-ce que c'est bien de ce type de code dont j'ai besoin (on sait jamais)

    2 - Est-ce que pour ne pas envoyer les mails à toute la table, mais seulement à ceux qui sont issus d'une requête il me suffit de remplacer la ligne



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oRst = CurrentDb.OpenRecordset("SELECT * FROM Clients")
    par le code de la requête ?

    3 - Quel format doit avoir le champ contenant les adresses mails (lien hypertexte ou texte ?

    4 - Je n'ai pas du tout compris comment on utilise ce code concrètement ??

    Comme code sur click d'un bouton dans un formulaire ???

    Voila, désolé pour ces questions de newbie mais parmi toutes mes recherches c'est ce code qui me semble le + approprié mais je n'arrive vraiment pas à l'utiliser.

    Merci @+

  2. #2
    Membre habitué Avatar de foste
    Inscrit en
    Octobre 2002
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 145
    Points : 127
    Points
    127
    Par défaut
    Slt,

    1) Oui si tu a Outlook, non si tu as Outlook Express

    2) Oui, tu auras qq comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oRst = CurrentDb.OpenRecordset("SELECT * FROM Clients WHERE [MonCHamps]=qqchose;")
    3) Moi j'utilise du Texte, mais c'est a essayer

    4) Tu peux mettre ce code sur l'action d'un bouton ou sur la fermeture d'un form par ex.

    Carine

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    Super, merci foste, j'essaie ça et je reviens si j'ai encore des soucis

    a++

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/01/2011, 20h33
  2. Réponses: 1
    Dernier message: 22/08/2008, 23h38
  3. [DDE]envoi de mail automatique selon le résultat d'une requête
    Par celiaaa dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 10/04/2007, 20h10
  4. Réponses: 7
    Dernier message: 26/09/2006, 10h38
  5. Envoyer mail aux résultats d'une requête
    Par martonpylon12 dans le forum Access
    Réponses: 3
    Dernier message: 12/12/2005, 14h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo