Invio mail da access in automatico

Anonimo
2020-12-04T17:48:59+00:00

Ciao a tutti sto modificando un db trovato in rete per gestire un piccolo magazzino, ho le seguenti tabelle

Articoli

Movimenti

La maschera per visualizzare tutti i movimenti ha la possibilità di avvisare quando un prodotto è sotto la scorta minima, c'è anche un report che fa vedere la lista di tutti i prodotti che sono sotto la scorta minima.

in questa maschera seguendo un tutorial ho creato un pulsante per l'invio della mail e funziona benissimo, solo che invia una mail singola di un singolo prodotto e non di tutti i prodotti la mia esigenza sarebbe di inviare una mail unica con tutti i prodotti da riordinare possibilmente in automatico quando rileva prodotti sotto la scorta minima.

Non so se mi sono spiegato bene nel caso chiedetemi pure altre informazioni, ringrazio in anticipo per l'aiuto.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
domenico laurenza 9,900 Punti di reputazione Moderatore volontario
2020-12-08T21:14:20+00:00

In questo caso lavori solo sul record corrente della maschera.

Mimmo

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

11 risposte aggiuntive

Ordina per: Più utili
  1. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2020-12-07T16:30:27+00:00

    Ciao,

    Hai risolto?

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2020-12-05T17:23:56+00:00

    Ciao,

    con il tuo codice tratti il solo record corrente della maschera, per creare un elenco devi gestire un recordset come nel seguente:

    Private Sub Comando59_Click()

    Dim myRst As Recordset

    Dim OutApp As Object    ' late binding

    Dim OutMail As Object  ' late binding

    Dim strMsg As String ' contiene il testo del messaggio

    Dim strDest As String ' contiene l'indirizzo email

    Set myRst = Me.RecordsetClone

    myRst.MoveFirst

    Set OutApp = CreateObject("Outlook.Application")

    Set OutMail = OutApp.CreateItem(0) ' creo una email vuota

    ' codice html mail

    strMsg = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>"

    strMsg = strMsg & "<html xmlns='http://www.w3.org/1999/xhtml'>"

    strMsg = strMsg & "<body>"

    strMsg = strMsg & "<p>Ciao il prodotto che segue è sotto il limite di scorta minima e deve essere riordinato al più presto"

    strMsg = strMsg & "<br /><br />dettaglio del prodotto sotto il minimo di sicurezza:</p>"

    strMsg = strMsg & "<table width='800px' border='1' cellpadding='2'>"

    strMsg = strMsg & "<tr>"

    strMsg = strMsg & "<td ><p align='center'><strong>Codice SAP</strong></p></td>"

    strMsg = strMsg & "<td ><p align='center'><strong>Scorta minima</strong></p></td>"

    strMsg = strMsg & "<td ><p align='center'><strong>Rimanenza</strong></p></td>"

    'strMsg = strMsg & "<td ><p align='center'><strong>Data scadenza</strong></p></td>"

    strMsg = strMsg & "</tr>"

    Do While Not myRst.EOF

       strMsg = strMsg & "<tr>"

       strMsg = strMsg & "<td><p align='center'>" &myRst("ID_discipline") & "</p></td>"

       strMsg = strMsg & "<td><p align='center'>" & myRst("Discipline") & "</p></td>"

       strMsg = strMsg & "<td><p align='center'><strong><font color=red>" & myRst("Campo1") & "</font></strong></p></td>"

       'strMsg = strMsg & "<td><p align='center'><font color=red>" & ScortaMinima & "</font></p></td>"

       strMsg = strMsg & "</tr>"

    myRst.MoveNext

    Loop

    strMsg = strMsg & "</table>"

    strMsg = strMsg & "<br />"

    strMsg = strMsg & "<p>Si prega di procedere al più presto<br />"

    'strMsg = strMsg & "In attesa di un vostro riscontro porgiamo cordiali saluti. <br /><br />"

    'strMsg = strMsg & "MyName<br />"

    'strMsg = strMsg & "<a href='http://www.mysite.come'>www.mysite.com</a><br />"

    'strMsg = strMsg & "Tel. +00 00000000 Fax +00 0000001</p>"

     strMsg = strMsg & "</body>"

    strMsg = strMsg & "</html>"

    'strDest = txtEmail

     With OutMail

     .To = ""

     .CC = ""

     .BCC = ""

     .Subject = "Prodotti da ordinare"

     .HTMLBody = strMsg

     .Display

    End With

    Set OutMail = Nothing

    Set OutApp = Nothing

    Set myRst = Nothing

    End Sub

    Devi sostituire i nomi dei campi nel loop di creazione della tabella.

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2020-12-05T16:54:37+00:00

    Ciao 

    Dovresti postarci il codice con cui effettui l'invio di email.

    Mimmo

    Ciao Mimmo allora il codice che ho messo sul pulsante è il seguente

    Private Sub Comando59_Click()

    Dim OutApp As Object    ' late binding

    Dim OutMail As Object  ' late binding

    Dim strMsg As String ' contiene il testo del messaggio

    Dim strDest As String ' contiene l'indirizzo email

    Set OutApp = CreateObject("Outlook.Application")

    Set OutMail = OutApp.CreateItem(0) ' creo una email vuota

    ' codice html mail

    strMsg = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>"

    strMsg = strMsg & "<html xmlns='http://www.w3.org/1999/xhtml'>"

    strMsg = strMsg & "<body>"

    strMsg = strMsg & "<p>Ciao il prodotto che segue è sotto il limite di scorta minima e deve essere riordinato al più presto"

    strMsg = strMsg & "<br /><br />dettaglio del prodotto sotto il minimo di sicurezza:</p>"

    strMsg = strMsg & "<table width='800px' border='1' cellpadding='2'>"

    strMsg = strMsg & "<tr>"

    strMsg = strMsg & "<td ><p align='center'><strong>Codice SAP</strong></p></td>"

    strMsg = strMsg & "<td ><p align='center'><strong>Scorta minima</strong></p></td>"

    strMsg = strMsg & "<td ><p align='center'><strong>Rimanenza</strong></p></td>"

    'strMsg = strMsg & "<td ><p align='center'><strong>Data scadenza</strong></p></td>"

    strMsg = strMsg & "</tr>"

    strMsg = strMsg & "<tr>"

    strMsg = strMsg & "<td><p align='center'>" & Codice_sap & "</p></td>"

    strMsg = strMsg & "<td><p align='center'>" & ScortaMinima & "</p></td>"

    strMsg = strMsg & "<td><p align='center'><strong><font color=red>" & Testo27 & "</font></strong></p></td>"

    'strMsg = strMsg & "<td><p align='center'><font color=red>" & ScortaMinima & "</font></p></td>"

    strMsg = strMsg & "</tr>"

    strMsg = strMsg & "</table>"

    strMsg = strMsg & "<br />"

    strMsg = strMsg & "<p>Si prega di procedere al più presto<br />"

    'strMsg = strMsg & "In attesa di un vostro riscontro porgiamo cordiali saluti. <br /><br />"

    'strMsg = strMsg & "MyName<br />"

    'strMsg = strMsg & "<a href='http://www.mysite.come'>www.mysite.com</a><br />"

    'strMsg = strMsg & "Tel. +00 00000000 Fax +00 0000001</p>"

     strMsg = strMsg & "</body>"

    strMsg = strMsg & "</html>"

    'strDest = txtEmail

     With OutMail

     .To = ""

     .CC = ""

     .BCC = ""

     .Subject = "Prodotti da ordinare"

     .HTMLBody = strMsg

     .Display

    End With

    Set OutMail = Nothing

    Set OutApp = Nothing

    End Sub

    e produce il seguente risultato

    come vedi mi invia una singola mail per ogni prodotto, vorrei che mandasse una mail con tutti i prodotti sotto la scorta minima come il report di cui allego foto

    si può fare ?

    La risposta è stata utile?

    0 commenti Nessun commento
  4. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2020-12-05T08:53:10+00:00

    Ciao 

    Dovresti postarci il codice con cui effettui l'invio di email.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento