Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/03/2011, 15h20   #1
Candidat au titre de Membre du Club
 
Inscription : février 2009
Messages : 46
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 46
Points : 13
Points : 13
Par défaut Mettre un champ pièce jointe en pièce jointe d'un mail

Bonjour,

j'ai une table dans laquelle j'ai mis un champ pièce jointe et je souhaiterai pouvoir envoyer cette pièce jointe par mail en utilisant "sendboject".

Les pièces jointes seront des images (JPG ou PNG).

Quel est la bonne formulation ?
j'ai essayé ça mais sans succès

Code :
DoCmd.SendObject acSendReport, Me.Copie_Devis, acformatJPG, "mail destinataire"
julius26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 15h54   #2
Membre du Club
 
Homme hadrien
Apprenti Ingénieur
Inscription : mars 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme hadrien
Localisation : France

Informations professionnelles :
Activité : Apprenti Ingénieur
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2011
Messages : 86
Points : 56
Points : 56
Bonjour,
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim Joint As String
Dim oEmail As Outlook.MailItem
Dim appOutLook As Outlook.Application

Set appOutLook = New Outlook.Application
Set oEmail = appOutLook.CreateItem(olMailItem)

Joint = strJndr1

oEmail.To = Destinataires
oEmail.CC = Copies
oEmail.Subject = Subject
oEmail.Body = Body
oEmail.Importance = Importance2
oEmail.Attachments.Add Joint
Tu défini strJndr1 comme la valeur d'une boite de texte d'un formulaire, attention c'est le chemin de ton document en entier (genre C/mesDoc/Michel/Word1).

Si tu veux des détails..
FtF Nemesis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 15h55   #3
Membre du Club
 
Homme hadrien
Apprenti Ingénieur
Inscription : mars 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme hadrien
Localisation : France

Informations professionnelles :
Activité : Apprenti Ingénieur
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2011
Messages : 86
Points : 56
Points : 56
J' avais oublié la fin :

Code :
1
2
3
4
5
oEmail.Send
 
 
Set oEmail = Nothing
Set appOutLook = Nothing
FtF Nemesis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 15h59   #4
Candidat au titre de Membre du Club
 
Inscription : février 2009
Messages : 46
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 46
Points : 13
Points : 13
Merci pour la réponse.

ma table contient un champ de type Pièce jointe.
Est-ce possible de l'utiliser ?

En gros, sur mon formulaire, j'ai un bouton "Envoyer PJ" et j'appelle la fonction que tu m'as écrite sauf que Joint = Me.PJ.Filedata
julius26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 17h17   #5
Membre du Club
 
Homme hadrien
Apprenti Ingénieur
Inscription : mars 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme hadrien
Localisation : France

Informations professionnelles :
Activité : Apprenti Ingénieur
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2011
Messages : 86
Points : 56
Points : 56
Oui c'est possible, si c'est un champ sur un formulaire :

Code :
strJoint = Forms![FORMULAIRE1].TEXTE1.Value
après si c'est dans une table il faut faire une recherche (recordset).
FtF Nemesis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 17h22   #6
Membre du Club
 
Homme hadrien
Apprenti Ingénieur
Inscription : mars 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme hadrien
Localisation : France

Informations professionnelles :
Activité : Apprenti Ingénieur
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2011
Messages : 86
Points : 56
Points : 56
Voila la methode REcorset:
Si tu connais ton numero d'enregistrement ( Id)

Code :
1
2
3
4
5
6
7
8
Dim adoRecord as DAO.recordset
 
Set adoRecord= CurrentDb.OpenRecordset("TABLE1", dbOpenTable)
 
    adoRecord.Index = "CHAMP Id"
    adoRecord.Seek "=", "VALEUR DE Id RECHERCHEE
 
strJoint = adoRecord ! CHAMP
Pour cette methode il te faut verifier que Id est bien un index, si t' as besoin d'informations en plus hésite pas.
FtF Nemesis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 17h24   #7
Membre du Club
 
Homme hadrien
Apprenti Ingénieur
Inscription : mars 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme hadrien
Localisation : France

Informations professionnelles :
Activité : Apprenti Ingénieur
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2011
Messages : 86
Points : 56
Points : 56
Encore un oubli à la fin:

Code :
1
2
'on vide le recorset pour la mémoire
Set adoRecrod = nothing
FtF Nemesis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 18h02   #8
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut Les PJ dans les messages

Bonjour,

A mon avis il faut d'abord extraire la PJ comme cela est expliqué ici même :

http://warin.developpez.com/access/piecejointe/

très bon tuto.

Puis la joindre dans un message et là 3 solutions :
Les CDO, MAPI, ou comme te l'a proposé FtF Nemesis avec Outlook.

Chaque méthodes à ses avantages et inconvénients.

Bonne chance
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 16h38   #9
Candidat au titre de Membre du Club
 
Inscription : février 2009
Messages : 46
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 46
Points : 13
Points : 13
J'utilise une fonction pour mes envois de mais.
Ya t-il un souci pour qu'elle ne marche plus ? pour info, je mets la valeur Null quand je ne veux pas de pièce jointe

Code :
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
Function CreateEmail( _
    Recipient As String, _
    Subject As String, _
    Body As String, _
    CC As String, _
    PJ As Attachment)
 ' --------------------------
    Dim i As Integer
    Dim oEmail As Outlook.MailItem
    Dim appOutLook As Outlook.Application
 
    ' créer un nouvel item mail
 
    Set appOutLook = New Outlook.Application
    Set oEmail = appOutLook.CreateItem(olMailItem)
 
    ' les paramètres
 
    oEmail.To = Recipient
    oEmail.Subject = Subject
    oEmail.Body = Body
    oEmail.CC = CC
    oEmail.PJ.Add
 
    ' envoie le message
    oEmail.Send
 
    ' détruit les références aux objets
    Set oEmail = Nothing
    Set appOutLook = Nothing
 
End Function
julius26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h58.


 
 
 
 
Partenaires

Hébergement Web