conferma invio mail in access

Anonimo
2015-10-20T09:10:27+00:00

Salve a tutti,

ho creato un tasto che attiva l'invio di una mail dove si allega anche un report il tutto generato da una macro, vorrei che nella maschera di comando dopo l'invio venga segnalato in una casella l'indicazione che è stata inviata. Avete qualche codice VB da suggerirmi?

Grazie

Cavillo

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

Anonimo
2015-12-03T09:43:42+00:00

ciao Cavillo,

[...]

ci ho messo un pò di tempo a rispondere, ma il codice che mi hai indicato non sono riuscito a farlo funzionare, c'erano dei problemi con "If" l'ho modificato in questo modo e funziona come volevo:

[...]

la soluzione che ti avevo proposto l'avevo testata e non avevo notato problemi... :-)

Grazie per il suggerimento.

prego :-)

Volevo chiedere se hai qualche consiglio da darmi per aggiungere nell 'oggetto della mail delle note che scrivo in una casella della maschera.

tra i parametri del metodo sendObejct trovi messageText che se presente viene scritto nel corpo dell'email.

magari aiutati nella scrittura del codice indicando i parametri, è cosa buona sempre e a maggior ragione se ce ne sono tanti in modo da identificarle facilmente, anche per il debug, del tipo :

DoCmd.SendObject ObjectType:=acSendTable, _

                 objectName:="Clienti", _

                 outputFormat:=acFormatPDF, _

                 To:=mailto, _

                 CC:=bccto, _

                 Subject:=mailsub, _

                 messageText:=emailmsg, _

                 editMessage:=True

ovviamente personalizza il codice con il tuo scenario reale.

Cavillo

ciao!

Sandro.

***** start Edit *****

sorry....vedo che indichi precisamente oggetto email e non corpo.

per l'oggetto dell'email fai riferimento al parametro subject dove avrai subject:= me.tuoControlloNote. ( personalizza il nome del controllo ovviamente).

nel caso tu debba aggiungere oltre al contento nel controllo note ulteriori informazioni ti basta concatenarle con & es.  subject:= me.tuoControlloNote & now() se vuoi data ed ora...

***** end Edit *****

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2015-11-30T14:33:10+00:00

ciao Cavillo,

[...]

cosa ne dici?

[...]

Cavillo

on error resume next non mi piace.... :-) ed bene usarlo con mooolta moderazione....

intendevo una cosa del genere, modifica il controllo tuaCheckBox :

on error goto errHandler

dim bool as boolean

bool=not bool

 ' tuo codice

err_handler:

    Me.tuaCheckBox= bool

    Exit Sub

errHandler:

    With Err

        If .Number = 2501 Then

                MsgBox "ok operazione annullata" '<----- personalizza...

        Else

            MsgBox "ERR#" & CStr(.Number) _

                 & vbNewLine & .Description, _

                 vbCritical

        End If

        bool = Not bool

        Resume err_handler

    End With

Cavillo

ciao, Sandro.

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-11-30T14:06:17+00:00

    Ciao Sandro,

    ho inserito questo codice:

    On Error Resume Next

    If Err.Number = 2501 Then

    confermainvio = False

    conferma = "NON DISTRIBUITO"

    Else: confermainvio = True

    conferma = "DISTRIBUITO"

    End If

    e funziona, però mi si apre sempre il messaggio di errore che vorrei non si aprisse, penso si debba usare On Error GoTo 0 ma non ho ben capito dove inserirlo

    cosa ne dici?

    Cavillo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-11-30T09:27:06+00:00

    ciao Cavillo,

    se per qualche ragione non invii l'email access restituice l'errore 2501 L'azione SendObject è stata annullata.

    quindi...prova a gestire l'errore con apposita procedura on error goto....

    Di conseguenza, se si genera l'errore il valore della casella di controllo sarà false (non spuntata), altrimenti true (spuntata)

    Facci sapere!

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-11-30T08:48:38+00:00

    Salve atutti,

    Invece della macro ho messo un codice Vb:

    stDocNAme = "Nuovo Ordine"

    stLinkCriteria = "[NumeroOrdine]=" & "'" & Me![NumeroOrdine] & "'"

    DoCmd.OpenReport stDocNAme, acPreview, , stLinkCriteria

    DoCmd.SendObject acSendReport, stDocNAme, acFormatPDF, _

        "******@xxxxxxxxx.it", , , _

        "Distribuzione nuovo ordine", "Distribuzione nuovo ordine e report .ecc....., -1, False

    funziona ma mi servirebbe aiuto per fare delle modifiche se qualche anima gentile riesce a darmene:

    nella maschera ho messo una casella SI/NO

    alla fine del comando invia mail, se la mail è stata inviata la casella si/no deve essere spuntata, inoltre vorrei che nell'indicazione dell'oggetto oltre alla scritta "Distribuzione nuovo ordine" comparisse anche

    una nota indicata in una casella di testo.

    Secondo voi è possibile?

    Grazie

    Cavillo.

    La risposta è stata utile?

    0 commenti Nessun commento