Leggi il Regolamento, please!
Il codice va formattato ed identato usando il tag CODE.
Veniamo al problema:
Prima di tutto NON esiste un ciclo come l'hai scritto tu
codice:
do until eof
next
Quindi è palese che ti manchino le basi sul linguaggio, per cui ti consiglio caldamente di studiarti BENE la guida sull'argomento.
Se vuoi selezionare un 'range' di utenti puoi costruirti una query 'ad hoc' sulla base delle lettere iniziali che itendi usare, nel tuo caso (supponiamo che gli utenti siano in una tabella di nome UTENTI):
codice:
Dim rsUtenti As ADODB.Recordset
Dim sSQL As String
sSQL = " SELECT utente FROM utenti "
sSQL = sSQL & " WHERE LEFT(utente,1) IN ('a', 'b') "
sSQL = sSQL & " ORDER BY utente "
rsUtenti.Open sSQL, db, adOpenForwardOnly, adLockReadOnly
Ora hai un recordset con l'elenco degli utenti desiderati.
Non ti resta che eseguire il tuo ciclo scorrendo il recordset, inviando direttamente il messaggio, per cui non serve nemmeno popolare un secondo recordset 'messaggio', a meno che tu non voglia tenere traccia dei messaggi inviati.
Se è così allora sarebbe ancor più pratico fare un insert diretta (INSERT INTO) direttamente nella tabella 'messaggi'.
Facci sapere.