Bonjour
Je suis autodidacte et pas dans l'informatique Par contre j'adore access et j'essaye d'optimiser mon travail avec des bases access.
J'utilise beaucoup le site pour me former et creuser dans les tuto, la faq et les discussions, et généralement je trouve mon bonheur (donc merci pour toutes les autres fois où j'ai trouvé ma solution!)
Là je sèche et je ne sais pas trop par quel bout prendre le sujet ou chercher...
J'ai sur un formulaire un bouton qui me sert à envoyer un mail d'alerte.
Jusqu'à présent le contenu de mon mail (sujet et corps de texte) était dans le code sur l’événement clic
Cela fonctionne très bien mais si je veux changer le contenu du mail je dois passer dans le code et j'aurais aimé pouvoir le faire sans avoir besoin de rentrer dans l'éditeur vba
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 strSubject = INFO SCoPE: Annulation de la commande" & strNumDRD & " (Projet :" & StrProjet & "). strMessageText = "Bonjour," & Chr(13) & Chr(10) & Chr(10) "Veuillez trouver ci joint, pour information, une copie de la commande " & stDocName2 & " qui a fait l'objet d'une modification." & Chr(13) & Chr(10) & Chr(10) DoCmd.SendObject acReport, , acFormatPDF, strListTo, , , strSubject, strMessageText, True
J'ai donc imaginé ce stratagème:
J'ai fait une table qui contient les infos associées à mon mail
je vais à l'aide d'une requête chercher ces infos
le problème est que j'ai bien mon texte comme avant... contenu dans mes deux variables ....constantes.... (en vocabulaire je ne suis pas douée... il me manque quelques bases et je pense que le problème vient de là )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 chaîneSQL = "SELECT [Lex_Mails].Subject,[Lex_Mails].MessageText" chaîneSQL = chaîneSQL & " FROM [Lex_Mails]" chaîneSQL = chaîneSQL & " WHERE ((([Lex_Mails].NumRefMail)=" & strFiltre & "))" 'Execussion de la requette et stockage dans un recordset du résultat Set rst = bds.OpenRecordset(chaîneSQL) 'saisie du recordset dans les variables strSubject = rst("Subject") strMessageText = rst("MessageText") 'Libération le recordset utilisé rst.Close Set rst = Nothing
j'ai donc :
strSubject = "INFO SCoPE: Annulation de la commande " & strNumDRD & " (Projet :" & StrProjet & ")."
et
strMessageText = "Bonjour," & Chr(13) & Chr(10) & Chr(10) "Veuillez trouver ci joint, pour information, une copie de la commande " & stDocName2 & " qui a fait l'objet d'une modification." & Chr(13) & Chr(10) & Chr(10)
Mais je n'arrive pas à faire en sorte que chaque "string" (strNumDRD , StrProjet) soit remplacée par sa valeur bien que la valeur soit définie correctement dans le code vba
est ce que quelqu’un pourrait me mettre sur la piste... je comprends bien que tout le contenu de mon champ est compris comme du texte... comment faire pour que les différentes variables contenues dans le texte soient remplacées par leur valeur? est ce que j'ai un moyen d'aboutir avec cette méthode où est ce que je dois prendre un autre chemin???
Je vous remercie d'avance pour votre aide
et merci encore pour tout le boulot qui est fait sur ce site
Bien à vous
Sabine
Partager