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 11/10/2011, 11h01   #1
Invité de passage
 
Femme
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
Par défaut Erreur envoi mail LotusNote

Bonjour,

Je suis entrain de développer une base de données pour un client avec une fonctionnalité d'envoi de mails LotusNote depuis Access 2000 à plusieurs destinataires.
J'ai trouvé sur différents forum et tutoriaux le code qui va bien pour gérer l'envoi des mails mais depuis peu, la personne qui l'utilise me dit qu'elle a un message d'erreur "Runtime error 7078 " - Could not create field 1%.
Ensuite, quand on veut débuguer, ca pointe sur MailDoc.sendto = recip
Je remplis ma variable recip (Variant) dans une autre procédure où je peux mettre jusqu'à 8 adresses mails.
J'ai cherché une solution mais je n'ai pas trouvé grand chose sur les forums. J'ai remplacé recip par Nz(recip,"") comme j'ai pu lire sur un autre forum et j'obtiens toujours la même erreur.
Est ce que quelqu'un peut m'éclairer? Merci d'avance

Ci-dessous le code VBA que j'utilise:

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
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
'Envoi d'un mail avec Lotus Notes
'*******à plusieurs destinataires*******
Public Sub SendNotesMail_plusieurs(ByVal Subject As String, ByVal SaveIt As Boolean, _
                         ByVal recip As Variant, ByVal BodyText As String, Optional ccRecipient As String, _
                          Optional bccRecipient As String, Optional Password As String, _
                           Optional Attachment As String)
 
 
    Dim Maildb As Object      'La base des mails
    Dim UserName As String    'Le nom d'utilisateur
    Dim MailDbName As String  'Le nom de la base des mails
    Dim MailDoc As Object     'Le mail
    Dim AttachME As Object    'L'objet pièce jointe en RTF
    Dim Session As Object     'La session Notes
    Dim EmbedObj As Object    'L'objet incorporé
 
    'Crée une session notes
    Set Session = CreateObject("Notes.NotesSession")
 
    Set Maildb = Session.GETDATABASE("", MailDbName)
    If Not Maildb.IsOpen Then Maildb.OPENMAIL
 
 
 
    '*** Cette ligne est réservée aux versions 5.x et supérieur : ***
'    Session.Initialize ("babar!00")
 
    'Récupère le nom d'utilisateur et crée le nom de la base des mails
    UserName = Session.UserName
 
   ' MailDbName = Left(UserName, 1) & Right(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
 
    'Ouvre la base des mails
 
    'Paramètre le mail à envoyer
    Set MailDoc = Maildb.CREATEDOCUMENT
    MailDoc.Form = "Memo"
    MailDoc.sendto = recip
    MailDoc.CopyTo = ccRecipient
    MailDoc.BlindCopyTo = bccRecipient
    MailDoc.Subject = Subject
    MailDoc.Body = BodyText
    MailDoc.SAVEMESSAGEONSEND = SaveIt
 
    'Prend en compte les pièces jointes
    If Attachment <> "" Then
        Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
        Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
 
        'MailDoc.CREATERICHTEXTITEM ("Attachment")
    End If
 
    'Envoie le mail
    MailDoc.PostedDate = Now()
    'MailDoc.Send 0, Recipient
    MailDoc.Send 0, recip
 
 
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set Session = Nothing
    Set EmbedObj = Nothing
 
End Sub
Buffon74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 09h51   #2
Expert Confirmé
 
Avatar de Godzestla
 
Homme
Chercheur de bonheur
Inscription : août 2007
Messages : 2 256
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de bonheur
Secteur : Industrie

Informations forums :
Inscription : août 2007
Messages : 2 256
Points : 2 979
Points : 2 979
Bonjour,

regarde ici, le code donné dans la réponse du 11/08/2011, 08h59 . Tu verras que la liste des destinataires doit être un tableau si plusieurs destinataires.
Cette rêgle est valable pour
Code :
1
2
3
    MailDoc.sendto ()
    MailDoc.CopyTo
    MailDoc.BlindCopyTo
Personnellement je passe à la routine un string avec les destinataires séparés par des virgules, et via Split, je converti cette liste en tableau.

Salutations.
__________________
(\ _ /) Cordialement G@dz
(='.'=)

(")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.
Godzestla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 16h36   #3
Invité de passage
 
Femme
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
Bonjour,

Merci pour la réponse.
J'avais en fait des champs Null dans mon tableau qui me faisaient bugger le programme.
Pb résolu.
Buffon74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h47.


 
 
 
 
Partenaires

Hébergement Web