+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Invio mail a più destinatari da query parametrica

  1. #1
    matfed82 non è in linea Novello
    Post
    37

    Invio mail a più destinatari da query parametrica

    Ciao a tutti

    ho creato una maschera che prendi i dati da una query parametrica (Ricerca_No_Mail)
    Nella maschera sono presenti i seguenti campi
    Categoria
    Azienda
    Cliente
    DataInizio
    DataFine
    Mail

    Non riesco a fare in modo che si crei in automatico una unica mail con in CCN tutti i destinatari presenti all'interno della maschera.

    codice:
    Private Sub InviaTutto_Click()
    Dim rs As DAO.Recordset
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strMsg As String
    Dim strDest As String
    
    Set rs = CurrentDb.OpenRecordset("Ricerca_No_Mail")
    rs.MoveFirst
    Do Until rs.EOF
            strDest = (strDest & "; ") & rs.Fields("Mail")
            rs.MoveNext
    Loop
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    
    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>Spett.le Azienda,"
    strMsg = strMsg & "<br /><br /></p>"
    strMsg = strMsg & "<br /><br />"
    strMsg = strMsg & "<br /><br />"
    strMsg = strMsg & "<br /><br />"
    strMsg = strMsg & "<br /><br />"
    strMsg = strMsg & "<br /><br />"
    strMsg = strMsg & "<p>Restiamo in attesa di riscontro.Cordiali saluti. <br /><br />"
    strMsg = strMsg & "Tel ......... Fax........... <br /><br /></p>"
    strMsg = strMsg & "</body>"
    strMsg = strMsg & "</html>"
    
    
    strDest = Mail
    With OutMail
    .BCC = strDest
    .Subject = "Invio Promozione"
    
    .HTMLbody = strMsg
    .Display
    End With
    
    Set OutApp = Nothing
    Set OutMail = Nothing
    
    End Sub
    Mi restituisce l'errore di run-time '3601' - Parametri ìnsufficienti. Previsto 3 e aprendo il codice mi seleziona in giallo
    codice:
    Set rs = CurrentDb.OpenRecordset("Ricerca_No_Mail")
    Grazie per il supporto

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293
    Cicli il recordet per compilare l stringa [strDest]... poi alla fine prima di passarla a BCC... cancelli tutto valorizzandola con Mail... che secondo me è nullo.
    Ora una domanda... perche non fai DEBUG stampandoti nella finestra immediata il valore strDest... e ti accorgeresti anche di un'altro difetto...

    Quella dentro l'OpneRecordset è una query...? I parametri chi li passa...?
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  3. #3
    matfed82 non è in linea Novello
    Post
    37
    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Cicli il recordet per compilare l stringa [strDest]... poi alla fine prima di passarla a BCC... cancelli tutto valorizzandola con Mail... che secondo me è nullo.
    Ora una domanda... perche non fai DEBUG stampandoti nella finestra immediata il valore strDest... e ti accorgeresti anche di un'altro difetto...

    Quella dentro l'OpneRecordset è una query...? I parametri chi li passa...?
    Si quella dentro OpenRecordset è la query parametrica.
    I parametri li prendo da una maschera di ricerca precedente che appena si apre la nuova maschera si chiude

    Ho eliminato strDest = Mail
    Ultima modifica di matfed82; 21-03-2020 21:04 

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293
    Quindi quando apri il recordset è già chiusa...?
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  5. #5
    matfed82 non è in linea Novello
    Post
    37
    no scusa sotto la lascio aperta

  6. #6
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293
    Allora non valorizzi correttamente la Query... verifica cosa contiene ma dall'errore direi Nulla.
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  7. #7
    matfed82 non è in linea Novello
    Post
    37
    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Allora non valorizzi correttamente la Query... verifica cosa contiene ma dall'errore direi Nulla.
    quindi il codice è corretto?

  8. #8
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293
    Se non funziona no... mi pare manchi il Send anche...
    Insomma perché non fai Debug in modo appropriato invece che a pizzichi e bocconi fare approssimazioni successive...?
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  9. #9
    matfed82 non è in linea Novello
    Post
    37
    Ho risolto in questo modo
    codice:
    Private Sub InviaTutto_Click()
    Dim db As dao.Database
    Dim RS As dao.Recordset
    Dim qdf As dao.QueryDef
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strMsg As String
    Dim strDest As String
    
    Set db = CurrentDb
    Set qdf = db.QueryDefs("Ricerca_NO_Mail")
    
    qdf![[Forms]![Ricerca_Mail]![Categoria]] = [Forms]![Ricerca_Mail]![Categoria]
    qdf![[Forms]![Ricerca_Mail]![Azienda]] = [Forms]![Ricerca_Mail]![Azienda]
    qdf![[Forms]![Ricerca_Mail]![DataFine]] = [Forms]![Ricerca_Mail]![DataFine]
    
    Set RS = qdf.OpenRecordset
    
    Do Until RS.EOF
    strDest = (strDest & "; ") & RS.Fields("Mail")
    RS.MoveNext
    Loop
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    
    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>Spett.le " & Me.Ragione_Sociale & ","
    strMsg = strMsg & "<br /><br /></p>"
    strMsg = strMsg & "A seguito varie richieste, abbiamo trovato un fornitore con il prodotto in oggetto<br /><br />"
    strMsg = strMsg & "<br /><br />"
    strMsg = strMsg & "Alleghiamo dettaglio<br /><br />"
    strMsg = strMsg & "<p>Restiamo in attesa di riscontro.Cordiali saluti. <br /><br />"
    strMsg = strMsg & "</body>"
    strMsg = strMsg & "</html>"
    
    
    
    With OutMail
    .BCC = strDest
    .Subject = "Invio Promozione"
    
    .HTMLbody = strMsg
    .Display
    End With
    
    Set OutApp = Nothing
    Set OutMail = Nothing
    RS.Close
    Set RS = Nothing
    Set qdf = Nothing
    Set db = Nothing
    
    End Sub
    Siccome nella query parametrica ho questa situazione ed invio allo stesso cliente 2 mail.

    Categoria Azienda Cliente Mail
    Ferramenta Pippo Paolo 1@libero.it
    Ferramenta Topolino Paolo 1@libero.it

    I campi della query si chiamano in questo modo

    Come posso fare per far saltare il secondo record se ha la stessa mail del record precedente?

  10. #10
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293
    La query la puoi fare con il DISTINCT/DISTINCTROW vedi tu in base... per avere solo 1 record per mail.
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi