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. Anonimo
    2020-12-08T20:09:10+00:00

    Ho capito che l'errore di run-time è dovuto al campo mancante nella tabella, è un campo non associato presente nella maschera che uso per fare il calcolo della rimanenza, se lo metto nella tabella l'errore sparisce ma sulla mail non funziona, sbaglio qualcosa...

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2020-12-08T20:04:44+00:00

    Ciao

    Funziona benissimo.....

    poi ho voluto personalizzare  però mi da un errore che non capisco

    Errore di run-time 3265 - Elemento non trovato in questa raccolta

    L'unica cosa che ho aggiunto è il campo Rim_nenza

    Poi ho messo

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

    ma non mi fa il calcolo, io pensavo di si :-(

    ho messo questo codice

    Private Sub Comando58_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

    Set myRst = CurrentDb.OpenRecordset("Select * From Articoli Where ScortaMinima")

    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>Rimanenza</strong></p></td>"

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

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

    strMsg = strMsg & "</tr>"

    Do While Not myRst.EOF

       strMsg = strMsg & "<tr>"

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

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

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

       strMsg = strMsg & "<td><p align='center'><font color=red>" & (ScortaMinima) - (Rim_nenza) & "</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

    La risposta è stata utile?

    0 commenti Nessun commento
  3. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2020-12-08T17:53:30+00:00

    Ciao,

    devi solo variare 'istruzione:

    Set myRst = Me.RecordsetClone

    con ad esempio

    Set myRst=CurrentDB.Openrecordset ("Select * From tuaTabella Where SottoScorta")

    sostituendo tuaTabella con il nome della tua tabella e SottoScorta la condizione che la identifica

    e ancora, se la maschera ha un filtro attivo puoi utilizzare questo

    Set myRst=CurrentDB.Openrecordset ("Select * From tuaTabella Where " & Me.Filter)

    Facci sapere

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2020-12-08T16:59:57+00:00

    Ciao Mimmo, 

    allora direi si e no, nel senso cosi mi fa la lista di tutti i prodotti anche quelli che non sono sotto la scorta minima, a servirebbe inviare solo quelli che sono sotto la scorta minima, sul report funziona, ma non voglio inviare il report come allegato, voglio creare una mail perché cosi riesco ad editarla nel caso di modifiche dell'ultimo momento.

    Grazie per il supporto

    La risposta è stata utile?

    0 commenti Nessun commento