[Risolto]Email tramite vba - problema con caselle combinate

di il
1 risposte

[Risolto]Email tramite vba - problema con caselle combinate

Buon pomeriggio a tutti, come da titolo ho questo determinato problema, mi spiego

Ho creato un pulsante nella form (FormInserisciDocumeni) dove vengono creati diversi documenti quali :fatture, ricevute, etc...
Le informazioni relative al cliente (tblclienti), vengono visualizzate tramite caselle combinate contenendo quindi, il valore relativo all'IDCliente.
sql=
SELECT tblClienti.IDCliente, tblClienti.Email1 FROM tblClienti;
La casella combinata relativa alla mail è associata alla prima colonna della select riportata sopra.

Il pulsante, per la creazione della mail contiene il seguente codice
Private Sub btnEmail_Click()
On Error Resume Next

    Dim strTo As String
    Dim strSubject, NomeFileStr, AziendaStr, DenStr As String
    Dim strMessageText As String
    
    Me.Dirty = False
    
    NomeFileStr = Me.DescrizioneDocumento & "_" & Me.NumeroDocumento & "_del_" & Format(Me.DataDocumento, "yyyy-mm-dd") & ".pdf"
    AziendaStr = DLookup("Azienda", "tblAzienda", "[IDAzienda] = 1")
    DenStr = "SELECT IIf([Nome] Is Null,[Cognome],IIf([Nome] Is Not Null,[Cognome]+' '+[Nome])) AS Denominazione, tblScarichi.IDCliente FROM tblClienti INNER JOIN tblScarichi ON tblClienti.IDCliente = tblScarichi.IDCliente GROUP BY IIf([Nome] Is Null,[Cognome],IIf([Nome] Is Not Null,[Cognome]+' '+[Nome])), tblScarichi.IDCliente HAVING (((tblScarichi.IDCliente)=[Forms]![FormInserisciDocumeni]![IDScarico]))"
    
    strTo = Me.email
    strSubject = NomeFileStr
    strMessageText = DenStr & ":" & _
        vbNewLine & vbNewLine & _
        "In allegato il documento." & _
        vbNewLine & vbNewLine & _
        Azienda


    DoCmd.SendObject ObjectType:=acSendReport, _
        ObjectName:="Fattura Vendita", _
        OutputFormat:=acFormatPDF, _
        To:=strTo, _
        Subject:=strSubject, _
        MESSAGETEXT:=strMessageText, _
        EditMessage:=True

End Sub
il problema è che la mail, una volta aperto outlook, riporta giustamente come destinatario della mail l'id cliente e non l'indirizzo della mail...
Inutile dire che DenStr dovrebbe riportare nel corpo della mail la denoiminazione del cliente (è uno dei miei vari tentativi) ma in realtà, nella mail viene riportato esattamente il valore contenuto in DenStr...come posso ovviare?
Edit: il codice è stato adattato al mio caso, spulciando vari info trovate in rete

1 Risposte

  • Re: [Risolto]Email tramite vba - problema con caselle combinate

    Se ho inteso bene... la tua ComboBox è quella che nel codice chiami
    
    Me.email
    Ha 2 Colonne di cui:
    La 1°(di Indice Zero) è associata al campo ID
    La 2°(di Indice Uno) è associata al Campo Email

    Poi leggo
    
    strTo = Me.email
    Siccome di default la combo ha come BoundColumn la Colonna1(Di indice Zero)... se vuoi leggere la Colonna2(Email di indice 1) devi scriverlo...
    
    strTo = Me.email.Column(1)
Devi accedere o registrarti per scrivere nel forum
1 risposte