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

VBA Access Discussion :

Envoi de mail outlook [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Par défaut Envoi de mail outlook
    Bonjour,

    m'étant appuyé sur http://access.developpez.com/faq/?page=Outlook#outlook

    puis, derrière mon bouton, j'ai placé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande71_Click()
        Dim Recipient As String, Subject As String, Body As String
            Recipient = "SELECT [log] & "@tam.org" AS mail" & _
                        "FROM T_Agents" & _
                        "INNER JOIN TR_Maintenance_Agents ON (T_Agents.N° = TR_Maintenance_Agents.NUM_Agent) AND (T_Agents.N° = TR_Maintenance_Agents.NUM_Agent)" & _
                        "WHERE (((TR_Maintenance_Agents.NUM_demande_maintenance)=[Formulaires]![F_Gestion_Maintenance_Batiments]![Id_demande_maintenance]));"
            Subject = Me.ZLD_Bâtiments
            Body = Me.Lb_demande_maintenance
            CreateEmail Recipient, Subject, Body
    End Sub
    mais j'ai un erreur qui me souligne le caractère "@"
    pourtant ça passe bien en SQL, mais là, je bloque...

    Dans la ligne 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [log] & "@tam.org" AS mail
    je concatène le login de l'utilisateur et @tam.org, inutile de stocker l'adresse mail complète...

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 434
    Billets dans le blog
    11
    Par défaut
    Salut,

    Cela doit être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande71_Click()
        Dim Recipient As String, Subject As String, Body As String
            Recipient = "SELECT [log]" & "'@tam.org' AS mail" & _
                        "FROM T_Agents" & _
                        "INNER JOIN TR_Maintenance_Agents ON (T_Agents.N° = TR_Maintenance_Agents.NUM_Agent) AND (T_Agents.N° = TR_Maintenance_Agents.NUM_Agent)" & _
                        "WHERE (((TR_Maintenance_Agents.NUM_demande_maintenance)=[Formulaires]![F_Gestion_Maintenance_Batiments]![Id_demande_maintenance]));"
            Subject = Me.ZLD_Bâtiments
            Body = Me.Lb_demande_maintenance
            CreateEmail Recipient, Subject, Body
    End Sub
    Dans une requête en VBA ,il ne faut pas utiliser ", mais plutôt '.

    @+.

  3. #3
    Membre Expert
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Par défaut
    Je te remercie beaucoup, décidément, j'aurai toujours du mal avec ces différences de syntaxe...

    ça marche un peu mieux mais ça ne fonctionne pas car ça m'envoie un mail mais avec 'SELECT [log' comme résultat de la requête, donc comme adresse mail.

    Merci de me corriger

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 434
    Billets dans le blog
    11
    Par défaut
    Avec quelque chose comme cela tu devrais y arriver :
    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
    Private Sub Commande71_Click()
        Dim Recipient As String, Subject As String, Body As String
     
        SQL = "SELECT [log]" & "'@tam.org' AS mail" & _
            "FROM T_Agents" & _
            "INNER JOIN TR_Maintenance_Agents ON (T_Agents.N° = TR_Maintenance_Agents.NUM_Agent) AND (T_Agents.N° = TR_Maintenance_Agents.NUM_Agent)" & _
            "WHERE (((TR_Maintenance_Agents.NUM_demande_maintenance)=[Formulaires]![F_Gestion_Maintenance_Batiments]![Id_demande_maintenance]));"
        Set oSQL = CurrentDb.OpenRecordset(SQL)
        While Not oSQL.EOF
            Recipient = oSQL.Fields(0)
            oSQL.MoveNext
        Wend
        oSQL.Close
        Set oSQL = Nothing
     
        Subject = Me.ZLD_Bâtiments
        Body = Me.Lb_demande_maintenance
        CreateEmail Recipient, Subject, Body
    End Sub

  5. #5
    Membre Expert
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Par défaut
    Merci,

    je suppose que je dois déclarer SQL as String?

    et pour oSQL?
    erreur de compilation, variable non définie

    Tu peux m'expliquer brièvement ce que tu m'as rajouté?

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 434
    Billets dans le blog
    11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL as string
    oSQL as  recordset

  7. #7
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Salut,

    ici c'est un mélange de concaténation SQL et VBA.
    Dans ton cas il faut faire une concaténation SQL donc laisser & dans la chaîne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            SQL = "SELECT [log] & '@tam.org' AS mail" & _

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Crash d'envoi de mail outlook
    Par zibi7 dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/07/2009, 12h47
  2. Envoi de mail Outlook à partir d'Excel
    Par Daejung dans le forum VBA Outlook
    Réponses: 8
    Dernier message: 19/12/2008, 23h37
  3. [VBA] envoi de mail Outlook express ne s'ouvre pas
    Par le.dams dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 14/08/2008, 16h56
  4. Envoi e-mail outlook avec access
    Par Jacques-Henri dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/11/2007, 20h19
  5. [VBA-E] pb envois de mail outlook
    Par minoru dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/08/2005, 19h42

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