Trimitere E-mail din access

Informatii despre cum se utilizeaza Microsoft Access 2003. Baze de date, Interogari, Formulare, Rapoarte, etc
cvmircea
Moderator
Moderator
Mesaje: 403
Membru din: Lun Aug 03, 2009 7:25 pm
Localitate: Alba Iulia
Contact:

Trimitere E-mail din access

Mesaj de cvmircea » Lun Mar 29, 2010 1:43 pm

Am urmatorul cod:

Cod: Selectaţi tot

Private Sub Command93_Click()
DoCmd.SendObject _
   , _
   , _
   , _
   [Mail], _
   , _
   , _
   "Comanda", _
   "Message mesajul meu vine aici", _
   False   
End Sub
care imi trimite un mail la adresa din cimpul [mail] din formular folosind Outlook Express
as vrea sa modific la subiect sa scrie "comanda dv a fost preluata cu nr intern: [nr]" unde [nr] este un cimp din formular.
Ultima oară modificat Lun Mar 29, 2010 1:51 pm de către Anonymous, modificat 1 dată în total.
Motiv: Adaugare tag-uri CODE

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Trimitere E-mail din access

Mesaj de Dr.Windows » Lun Mar 29, 2010 7:12 pm

Nimic mai simplu... doar trebuie sa ai de undeva acea valoare pe care o vrei inserata in subiect pentru ca functia SendObject are ca paremetrii:

SendObject(ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile)

si de preferat ar fi sa ai pregatiti toti parametrii necesari functiei.

De ex. urmatorea functie face ce vrei tu:

Cod: Selectaţi tot

Private Sub cmdEmail_Click()
    cTo = [EMail]
    cSubject = "Comanda nr: " & [NrIntern]
    cMessage = "Corpul mesajului" & Chr(13) & "A doua linie de text"
    On Error GoTo PrelucrareEroare
    DoCmd.SendObject , , , cTo, , , cSubject, cMessage, True, False
    On Error GoTo 0
    Exit Sub
    
PrelucrareEroare:
    MsgBox "Eroare: " & Err.Number & " = " & Err.Description
    On Error GoTo 0
End Sub
In exemplul atasat ai si o forma : Table1-Memo in care se trimite un mesaj al carui "MessageText" este completat atat prin crearea unui text in momentul apelarii functiei cat si prin adaugarea unui camp memo din baza de date.

Nota: in exemplul meu penultimul parametru este True din motive de "debug" - pentru a permite editarea mesajului inainte de expediere (ca sa nu se faca neaparat trimiterea - tocmai de aceea apare si functia de prelucrare a erorilor ca sa "avertizeze ca userul a "renuntat" la trimiterea mesajului)
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

cvmircea
Moderator
Moderator
Mesaje: 403
Membru din: Lun Aug 03, 2009 7:25 pm
Localitate: Alba Iulia
Contact:

Re: Trimitere E-mail din access

Mesaj de cvmircea » Mar Mar 30, 2010 8:42 am

Multumesc Lucian, excelent exemplul tau.Cum pot forta sa treaca la linie noua in cazul in care in mail o sa trec un mesaj mai lung ?

Dr.Windows
Moderator
Moderator
Mesaje: 4570
Membru din: Vin Iul 31, 2009 7:32 am

Re: Trimitere E-mail din access

Mesaj de Dr.Windows » Mar Mar 30, 2010 8:53 am

Pai ai o "mostra" chiar in exeplul dat:

cMessage = "Corpul mesajului" & Chr(13) & "A doua linie de text"

Cand vrei sa treci la linia urmatoare adaugi un "enter"... mai exact CR+LF (Carriage Return + Line Feed)... adica CHR(13).

cvmircea
Moderator
Moderator
Mesaje: 403
Membru din: Lun Aug 03, 2009 7:25 pm
Localitate: Alba Iulia
Contact:

Re: Trimitere E-mail din access

Mesaj de cvmircea » Mie Mar 31, 2010 8:34 am

Am incercat si asa si tot nu trece la linie noua.Asa arata codul:

Cod: Selectaţi tot

Private Sub Command93_Click()
    cTo = [Mail]
    cSubject = "Comanda nr: " & [ComandaID]
    cMessage = "Comanda dv a fost preluata cu nr intern: " & [ComandaID] & Chr(13) & "Note comanda: " & [Note]
    On Error GoTo PrelucrareEroare
    DoCmd.SendObject , , , cTo, , , cSubject, cMessage, True, False
    On Error GoTo 0
    Exit Sub
    
PrelucrareEroare:
    MsgBox "Eroare: " & Err.Number & " = " & Err.Description
    On Error GoTo 0

End Sub

Dr. Cloud
Mesaje: 3327
Membru din: Mar Oct 02, 2012 11:19 am

Re: Trimitere E-mail din access

Mesaj de Dr. Cloud » Mie Mar 31, 2010 9:12 am

Incearca asa:

Cod: Selectaţi tot

cMessage = "Comanda dv a fost preluata cu nr intern: " & [ComandaID] + vbCrLf + "Note comanda: " & [Note]
Mie imi merge cu ambele variante.

cvmircea
Moderator
Moderator
Mesaje: 403
Membru din: Lun Aug 03, 2009 7:25 pm
Localitate: Alba Iulia
Contact:

Re: Trimitere E-mail din access

Mesaj de cvmircea » Joi Apr 01, 2010 2:20 pm

Mersi , merge cu :
cMessage = "Comanda dv a fost preluata cu nr intern: " & [ComandaID] & vbCrLf & "Note comanda: " & [Note]

Alexe1979
Mesaje: 36
Membru din: Vin Mar 12, 2010 9:34 pm
Localitate: Bucuresti
Contact:

Re: Trimitere E-mail din access

Mesaj de Alexe1979 » Mie Noi 03, 2010 9:31 pm

salut
am si eu o rugaminte. am o aplicatie in care sa trimita e mail in format pdf la un raport , dar imi trimte raportul care cuprinde toata tabela si doresc sa imi trimita un raport (tot in format pdf) numai cu linia selectata in form din tabela.

ma pute ti ajuta?

merci
sorin

cvmircea
Moderator
Moderator
Mesaje: 403
Membru din: Lun Aug 03, 2009 7:25 pm
Localitate: Alba Iulia
Contact:

Re: Trimitere E-mail din access

Mesaj de cvmircea » Mie Noi 03, 2010 9:44 pm

Poti face ca sursa Raportului sa fie o interogare in care sa pui conditia ca id-ul inregistrarilor sa fie egal cu id-ul inregistrarii selectate.

Alexe1979
Mesaje: 36
Membru din: Vin Mar 12, 2010 9:34 pm
Localitate: Bucuresti
Contact:

Re: Trimitere E-mail din access

Mesaj de Alexe1979 » Mie Noi 03, 2010 10:15 pm

merci

imi poti spune cum?

Închis

Înapoi la “Intrebari despre Access 2003”