Newsgroup: it.comp.appl.access
Titolo: Mail a più contatti

Salve sono riuscito, direi che non ho fatto nulla, a mandare una mail a 
un contatto ben specifico selezionato dalla mia tabella contatti con il 
codice
DoCmd.SendObject acSendNoObject, , , Me.e_mail
Il problema è che dovrei mandare la mai apiù contatti selezionati 
tramite una query che filtra i contatti che hanno o meno l'indirizzo di 
mail.
Ho predisposto un campo "seleziona" impostato su on/off, il tutto per 
selezionare i contatti a cui inviare la mail, solo che ho il problema 
che non sono riuscito a creare il codice per concatenare i valori dei 
vari record, separati da ";" come richiesto nei programmi di posta 
elettronica.
Potete aiutarmi??
Grazie 1000

 Grazie 1000
Io personalmente mi muovo tra i record singoli automaticamente inviando mail 
singole, ma se il tuo scopo č quello che hai esposto, potresti aprirti il 
recordset, e leggere i record incrementando una variabile...
Es.
Apri il recordset...
Dim EmailTotale as String
EmailTotale=""
While Not Rec.EOF
    EmailTotale = EmailTotale&";"&Tuo_campo_Email
    Rec.MoveNext
Whend
Una cosa del genere... 


Ciao
Attenzione, però ai filtri anti spam quando il campo TO ha più di poche
decine di destinatari,
 intervengono e il messaggio rischia di non arrivare a destinazione.
Cinzia

 
Scusate sono un bel po' scarso in VB ma non mi funziona.
mi da errore
Variabile oggetto o variabile del blocco While non impostata
Sono nelle vostre mani e nella vostra conoscenza.

Continua il mio calvario, ora il problema con il seguente codice è questo.
Mi ripete il record corrente tante volte quante sono i record presenti 
nella query.
Ecco il codice
     Dim dbs As Database
     Dim rst As Recordset
     Dim EmailTotale As String
     Set dbs = CurrentDb()
     Set rst = dbs.OpenRecordset("qry_MultiMailSelezionate")
     rst.MoveFirst
     While Not rst.EOF
     EmailTotale = e_mail & ";" & EmailTotale
     rst.MoveNext
     Wend
     DoCmd.SendObject acSendNoObject, , , EmailTotale
     Set dbs = Nothing
Mi spiego meglio o almeno cerco
Io ho un maschera per selezionare i contatti ai quali voglio mandare una 
mail, la maschera è basata su una query che mi filtra solo i contatti 
con una mail.
Invece la query che uso qui sopra "qry_MultiMailSelezionate" è una query 
dove filtro i contatti in base al campo "selezione" se è = true.
Non funziona o almeno in parte.
Come posso fare??
Grazie 1000

 Grazie 1000
Prova cosě:
Dim dbs As Database
     Dim rst As Recordset
     Dim EmailTotale As String
    EmailTotale = "";
     Set dbs = CurrentDb()
     Set rst = dbs.OpenRecordset("qry_MultiMailSelezionate")
     with rst
     While Not .EOF
         EmailTotale = !e_mail & ";" & EmailTotale
         .MoveNext
     Wend
    End With
     DoCmd.SendObject acSendNoObject, , , EmailTotale
    rst.close
    set rst=nothing
    Set dbs = Nothing
ciao
REF

E se EmailTotale è vuoto perchè la query non restituisce neanche
mezza stringa? Va in debug :)
Quindi ci vuole anche un controllo su EmailTotale.

Quindi ci vuole anche un controllo su EmailTotale.
Ciao Giulio
io ho modificato solo l'accesso al recordset e il riferimento al campo e_mail
Per il controllo di errore dipende come lo gestice lui, visto che accede al recordset previa selezione su maschera
Forse ha fatto il controllo a priori, disabilitando il comando di invio mail se non ci sono destinatari
selezionati.
Ad ogni modo, per quelle che sono le mie limitate conoscenze,...
Dim dbs As Database
Dim rst As Recordset
Dim EmailTotale As String
 EmailTotale = "";
 Set dbs = CurrentDb()
 Set rst = dbs.OpenRecordset("qry_MultiMailSelezionate")
 with rst
     While Not .EOF
         EmailTotale = !e_mail & ";" & EmailTotale
         .MoveNext
     Wend
 End With
 rst.close
 set rst=nothing
 Set dbs = Nothing
if not emailtotale = "" then
    DoCmd.SendObject acSendNoObject, , , EmailTotale
else
    msgbox "non ci sono destinatari", vbCritical, "Attenzione"
End if
Ciao
REF

REF ha scritto:

la query in oggetto qry_MultiMailSelezionate già di per se esclude i 
campi dove non sono presenti indirizzi di posta elettronica, per cui il 
problema del debug non sussiste, poi la stessa query è filtrata in base 
ad un campo selezione (on/off) che fa si che solo i record selezionati e 
  nei quali è presente l'indirizzo di posta elettronica, vengono 
processati e inseriti nel campo to: della mia mail da inviare.
Probabilmente in futuro si presenterà un secondo problema, quello che se 
ci sono troppi contatti nel campo To: il programma Outlook o Outlook 
Express non li accetta (ora non ricordo quanti sono). Sarà un problema 
che affronterò in futuro.

Ciao!!!! E' proprio la query che serve anche a me per inviare le email
ad una selezione di utenti e non so come farla!!!!! Che non è che mi
mandi la query che hai fatto così me la riadatto? Se poi c'è anche
del codice sotto che aggiunge cose a quello che ho io mi farebbe
piacere anche quello :)
La mia email è quella che vedi con il messaggio :)
Grazie!!