Invio Mail da access

di il
24 risposte

Invio Mail da access

Salve ho un piccolo problema.
Ho scaricato dal sito MS il modello gestioni problemi perchè con delle piccole modifiche fa al caso mio ma provandolo una cosa non mi torna: mentre nella maschera Issue List il pulsante Add from outlook correttamente apre outlook e mi fa lavorare sui contatti, nella form Issue Details il pulsante E-mail che ha una macro su clik non funziona correttamente.
A me la macro (includoggettodatabaseinmessaggiodipostaelettronica) sembra correttamente compilata ma non mi apre outlook e non riesco a capire cosa succede.
Chi potrebbe spiegarmi dove sbaglio?

24 Risposte

  • Re: Invio Mail da access

    Provando a leggere qui
    https://support.office.com/it-it/article/Azione-di-macro-IncludiOggettoDatabaseInMessaggioDiPostaElettronica-de087df0-6d0c-4dfc-b1b6-ba1172d28ac5
    vedi se non ti trovi in uno dei casi relativi a Osservazioni.
    Altrimenti esponi l'intera compilazione della tua azione macro.
  • Re: Invio Mail da access

    Ho provato anche ad inserire questo codice, non mi si apre nemmeno outlook (e credo dovrebbe aprirsi).
    Qualche anima può provare il modello gestione problemi e dirmi se a lui da lo stesso problema?
    
    private Sub Comando246_Click()
    Dim ApriApp     As Object 
    Dim ApriMail    As Object 
    Dim TestoMsg    As String 
    Dim IndDest     As String
    
    Set ApriApp = CreateObject("Outlook.Application") 
    Set ApriMail = ApriApp.createitem(0)
    
    
  • Re: Invio Mail da access

    Viene creata l'istanza ma non la vedi ovviamente finché non rendi l'applicazione visibile. Ma non è importante. Continua con il codice e controlla se la mail viene inviata. Esistono tanti esempi online.
  • Re: Invio Mail da access

    Allora, ho copiato il codice vba (il classico esempio che si trova su web ed effettivamente funziona).
    Ora però vorrei capire perchè la macro standard dell'esempio Problemi del modello standard sito MS non funziona, o meglio, a me non funziona.
    Allego macro originale, spero si capisca.
    Se provo ad eseguire la macro access mi risponde con questo errore:
    L'oggetto non contiene l'oggetto di automazione "Assigned to"
    Il campo indirizzo posta elettronica è di tipo testo, no collegamento ipertestuale
    Nel campo to della macro ho:
    
    =DLookUp("[Indirizzo posta elettronica]";"Contacts";"[ID]=" & Nz([Assigned To];0))
    
    Nel campo CCN
    
    =DLookUp("[Indirizzo posta elettronica]";"Contacts";"[ID]=" & Nz([Opened By];0))
    
    L'oggetto
    
    =Replace(Replace("Problema |1: |2";"|1";Nz([ID];""));"|2";Nz([Title];""))
    
    Testo
    
    =IIf([Form].[Description].[TextFormat]=1;PlainText([Description]);[Description])
    
  • Re: Invio Mail da access

    Ho risolto con VBA in questo modo:
    
    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
    Dim strCC   As String   ' contiene l'indirizzo del destinatario
    Dim strObj  As String   ' contiene l'oggetto
    
    testo html
    
    strDest = DLookup("[E-mail Address]", "Contacts", "[ID]=" & Nz([Assigned To], 0))
    srtCC = DLookup("[E-mail Address]", "Contacts", "[ID]=" & Nz([Opened By], 0))
    strObj = Replace(Replace("Problema |1: |2", "|1", Nz([ID], "")), "|2", Nz([Title], ""))
    
    
    With OutMail
     .To = strDest
     .CC = srtCC
     .BCC = ""
     .Subject = strObj
     .HTMLBody = strMsg
     .Display
    End With
    
    
  • Re: Invio Mail da access

    Faccio riferimento al'argomento circa l'invio delle mail tramite access. Io creo dei report a cui ho aggiunto il bottone della funzione IncludiOggettoDatabaseInMessaggioDiPostaElettronica per inviarli via mail. Il sistema funziona bene però ho il problema che devo aggiungere l'indirizzo mail manualmente. Vorrei sapere se qualcuno mi può indicare la modalità per far si che si possa inserire automaticamente l'indirizzo mail di destinazione. Io uso ACCESS 2007 - 2016 e Mozilla per inviare le mail. Preciso che sul report che creo c'è indicato l'indirizzo mail di destinazione. Grazie
  • Re: Invio Mail da access

    Ci sono alcune considerazioni da fare... ma non so...
    I report servono a VISUALIZZARE ANTEPRIMA non dovrebbero avere pulsanti... pensa ad esempio se uno dovesse inviare 10 report senza visualizzarli... gestendo in questo modo ad ogni report devi inserire la mail...? Mah...

    Per queste cose si usa il vba NON LE MACRO al fine di consentire personalizzazione, validazione e funzionalità.

    Usa una maschera con textbox e Button e fai tutto da vba.
    Se sei bravo consenti la scelta di Preview o Stampa diretta con invio...
  • Re: Invio Mail da access

    Premetto che ho una vaga idea di vba e utilizzo Access da "normale" utente. Come ti ho detto io tramite una query realizzo un report. In fase di progetto del report ho aggiunto un comando che esegue la funzione IncludiOggettoDatabaseInMessaggioDiPostaElettronica. Quando clicco sul bottone di comando della funzione si apre Mozilla con allegato in pdf il report. A questo punto devo solo aggiungere l'indirizzo e inviare la mail. Come ho detto funziona bene tranne l'inserimento dell'indirizzo. Circa l'utilizzo di vba ho trovato qua e la qualche esempio da copiare ma non sono stato capace di farlo funzionare.
  • Re: Invio Mail da access

    L'azione macro che hai segnalato prevede l'argomento A:. Prova a scriverci dentro:
    [Reports]![NomeReport]![NomeCampoContenenteEMail]
    oppure
    =[Reports]![NomeReport]![NomeCampoContenenteEMail]
  • Re: Invio Mail da access

    Ti ringrazio per l'indicazione. Il mio problema è che non so dove trovare la macro per aggiungere il comando. Come ti ho detto io ho semplicemente utilizzato l'opzione "IncludiOggettoDatabaseInMessaggioDiPostaElettronica" che trovi già pronta in access.
  • Re: Invio Mail da access

    Allora ha ragione @Alex riguardo l'uso di un pulsante che in report non ha senso.
    1. Usa una maschera che visualizza gli stessi campi del report
    2. Sulla maschera metti un pulsante
    3. Nelle proprietà del pulsante troverai scheda Eventi, poi "Su clic", avvicina il mouse all'estrema destra di questa proprietà e notera un piccolissimo pulsantino con … 3 puntini, cliccaci sopra
    4. Ti chiederà se vuoi creare un codice VBA o macro. Se proprio non sai usare VBA, scegli macro...ma devi PREVENTIVAMENTE crearne una in visualizzazione struttura e salvarla con nome, la chiamo MacroX.
    5. Nella creazione della macro, scegli l'azione IncludiOggettoDatabaseInMessaggioDiPostaElettronica, poi in A: dovresti scrivere
    [Maschere]![NomeMaschera]![NomeCampoContenenteEMail]
    6. Quindi salva con nome la MacroX

    ...non ho scritto le operazioni in ordine corretto...ma spero tu abbia capito il da farsi...ammesso io abbia capito a tutto tondo il problema!!!
  • Re: Invio Mail da access

    Ti ringrazio molto!! Ci provo subito. Per me è indifferente usare report o maschere. Ti faccio sapere e grazie ancora
  • Re: Invio Mail da access

    Per la verità io usavo la maschera e non sono stato capace di far apparire l'indirizzo mail. Così ho provato con i report e ho la stessa difficoltà.
    Ho seguito le tue istruzioni che era quello che già facevo. Non ho solo capito cosa intendi per creare preventivamente una macro.

    Ho seguito la procedura indicata dal programma. Dopo aver cliccato sui tre punti mi si apre una finestra con tre opzioni: Generatore di macro Generatore di espressioni Generatore di codice. Io ho cliccato su Generatore di macro. Poi dalla tendina ho scelto IncludiOggettoDatabaseInMessaggioDiPostaElettronica e l'ho settato per il mio uso. Alla voce A: ho aggiunto il comando che mi hai indicato. Se eseguo il comando mi si apre la mail correttamente con in allegato la maschera in PDF però come indirizzo trovo: A: [Maschere]![NomeMaschera]![NomeCampoContenenteEMail] e non l'indirizzo mail.

    Eventualmente non ho problemi ad utilizzare VBA però non sono certo capace a scrivere tutto il comando. Io ho trovato qualche sito che offriva questo però in pratica non sono mai stato capace di farlo funzione.
  • Re: Invio Mail da access

    La maschera deve avere il campo/controllo [email] altrimenti A: non sa da dove prelevare il "vero" valore. Se in A: della mail appare ancora [Maschere]!ecc…, prova ad anteporre = .
Devi accedere o registrarti per scrivere nel forum
24 risposte