Newsgroup: it.comp.appl.access
Titolo: Gestione avanzata delle email

Grazie al mio amico di Milano e a MA sono riuscito a scrivere questa
routine per una gestione elementare dell'invio delle email:
------------------------------------------------------------
CODICE IN FRM_INVIA_EMAIL
------------------------------------------------------------
Private Sub cmdInviaEmail_Click()
Dim oggetto As String
Dim testo As String
Dim ret As Long
Dim dest As Variant
Const SW_HIDE = 0
txtMail.SetFocus
testo = txtMail.Text
txtOggetto.SetFocus
oggetto = txtOggetto.Text
dest = destinatario()
If Not IsNull(dest) And dest <> "" Then
    ret = ShellExecute(Me.hwnd, "Open", "mailto:" & dest & "?subject="
& oggetto & "&body=" & testo, vbNullString, vbNullString, SW_HIDE)
End If
End Sub
Private Function destinatario()
Dim mail As Variant
Dim selezione As Variant
If Me!tipo_invio.Value = 2 Then
    Me.RecordSource = "SELECT * FROM tblUtenti WHERE not isnull(Email)
And Email <> ''"
    selezione = 1
  Else
    Me.RecordSource = "SELECT * FROM tblUtenti WHERE idUtente = " &
Me.OpenArgs
    mail = DLookup("Email", "tblUtenti", "idUtente = " & Me.OpenArgs)
    selezione = 2
    If IsNull(mail) Or mail = "" Then
        MsgBox "Invio email non riuscito." & Chr(10) & Chr(13) &
"L'indirizzo email dell'utente selezionato non è specificato.",
vbExclamation, "Invio email"
        Exit Function
    End If
End If
If selezione = 1 Then
    With Me.RecordsetClone
        If .RecordCount > 0 Then
            .MoveFirst
            Do
            If Len(!Email) > 0 Then
                destinatario = destinatario & ";" & !Email
              Else
                Exit Function
            End If
            .MoveNext
            Loop Until .EOF
        End If
    End With
        If IsNull(destinatario) Or (destinatario = "") Then
            MsgBox "Invio email non riuscito." & Chr(10) & Chr(13) &
"Nessun indirizzo email presente nell'elenco dei contatti!",
vbInformation, "Invio Email"
            Exit Function
        Else
            destinatario = Right(destinatario, Len(destinatario) - 1)
        End If
Else
    destinatario = mail
End If
End Function
Private Sub cmdEsci_Click()
On Error GoTo Err_cmdEsci_Click
    Application.Echo False
    DoCmd.Close
    Application.Echo True
Exit_cmdEsci_Click:
    Exit Sub
Err_cmdEsci_Click:
    MsgBox Err.Description
    Resume Exit_cmdEsci_Click
End Sub
Private Sub Form_Load()
Application.Echo False
Forms!frmSchedaPrimoContatto.SetFocus
Forms!frmSchedaPrimoContatto.Requery
Forms!frmInviaEmail.SetFocus
Application.Echo True
End Sub
-----------------------------------------------------------
CODICE IN FRM_SCHEDA_PRIMO_CONTATTO (apre frmInviaEmail
-----------------------------------------------------------
Private Sub cmdMandaEmail_Click()
DoCmd.RunCommand acCmdSaveRecord
If MsgBox("Routine invio email versione Alpha" & Chr(10) & Chr(13) &
"Leggere l'avviso nella maschera 'Invia Email'", vbInformation +
vbOKCancel, "Invio Email") = vbOK Then
    Application.Echo False
    DoCmd.OpenForm "frmInviaEmail", , , , , , Me.idUtente
    Application.Echo True
Else
    Exit Sub
End If
End Sub
------------------------------------------------------------
Ma cosa posso aggiungere? Avevo pensato alla selezione del client di
posta...alla gestione di eventuali errori.
Ma non mi viene in mente niente altro....
Quindi: cosa devo aggiungere per fare una cosa professionale, e dove
trovare info al riguardo?
Grazie mille!!!!!!!
Grazie.

Grazie.
Buona serata :-)
Gaspare 

(.....)
Liste di distribuzione
Vincenzo Turturro
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com/
---------------------------------------------
E quello di it.comp.as400
http://www.faq400.com/
---------------------------------------------

 
Gestione di modelli html predefiniti con campi text ed hidden da 
compilare e gestire?
Hehehehe buon divertimento ... avessi tempo di giocare con queste cose 
... ;-)
ByeZ
-- 
Claudio(BS)
L'unico problema per l'uomo non sta nella difficoltà delle sue imprese
ne' nella quantità di denaro necessario per compierle, ma nella durata
della sua esistenza. (Claudio 14.02.2004)
NB. Protezione antispam
Per rispondere aggiungere claudio

Ciao, non è che devo farlo per gioco ma per lavoro. Solo che queswto
è il mio primo database perciò non ho proprio idea nè di cosa fare
nè di come fare. Perciò devo studiare.
Avete link a tutto questo?
Grazie :)

Giulio Severini ha scritto:

Prova a vedere se qui trovi qualche cosa che ti può servire
http://www.outlookcode.com/d/vb.htm
