Newsgroup: it.comp.lang.visual-basic
Titolo: Come effettuare chiamate SQL su DB Access2000

Ho una rubrica telefonica, tanti nomi, tanti cognomi e tanti indirizzi 
email.
Vorrei attraverso il programma di invio mail "che ho creato" inviare in modo 
automatico una comunicazione.
il db č cosě composto:
Nome || Cognome || Tel || Email
Pippo    Pluto        3115    
i...@io.it
Paperino    Pluto    322     
va...@io.it
Ecc...ecc....
Mi serivirebbe una volta cliccato su un tasto, operazione click che la 
chiamata andasse a prendere tutti i cognomi = Pluto e le loro rispettive 
email me le scrivesse in un campo in questo modo:
i...@io.it
;
va...@io.it
Sapete come poterlo fare? Io non ho proprio idea.
Select Email
From Rubrica
Where Cognome = "Pluto"
Ma in Vb come lo faccio? e come posso visualizzare i risultati email uno di 
seguito all'altro intramezzati da un ; 

 Where Cognome = "Pluto"
L'idea č quella. Devi estrarre dal tuo database un recordset che risponda
alle tue richieste.
Per prima cosa devi "agganciarti" al database. Se utilizza ADO devi
costruirti un oggetto connection, se lavori in DAO un oggetto database.
Nell'help on line č spiegato chiaramente come fare.
Poi ne ricavi un recordset, passandogli l'istruzione sql che hai scritto
tu, e anche qui ti aiuta l'help
Poi cicli il recordset, una cosa del tipo
dim Indir as string
do until <tuorecordset>.eof
indir = indir & <tuorecordset>("Email") & ";"
<tuorecordset>.movenext
loop
ma, ripeto, F1 č tuo amico, usalo un po' di piů
-- 
Salutoni
Sergio
C'č il giorno in cui nasci e quello in cui scegli di vivere
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ma, ripeto, F1 è tuo amico, usalo un po' di più
Ma intendi una cosa di questo genere?
Private Sub Form_Load()
Dim rSql As String
   Set stockCon = New ADODB.Connection
   stockCon.ConnectionString = _
   "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=\Rubrica.mdb"
   stockCon.Open
    Set stockRS = New ADODB.Recordset
    'Prepare the recordset.
    rSql = "SELECT Email FROM Rubrica WHERE Cognome = "Pluto" "
With stockRS
    .ActiveConnection = stockCon
    .CursorLocation = adUseClient
    .CursorType = adOpenStatic
    .LockType = adLockOptimistic
    .Open rSql
End With
If stockRS.BOF And stockRS.EOF Then
    Exit Sub
End If
Set tranGrid.DataSource = stockRS   'Salva i risultati in una griglia.....
        tranGrid.Refresh
End Sub 

 loop
Ok, ho creato il seguente codice:
Private Sub Command7_Click()
stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\DB.mdb"
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    cn.Open stringa
    rs.Open "SELECT * FROM Rubrica", cn, 1
    If rs.EOF Then
        txtBcc.Text = "Nessun dato"
    Else
        While rs.EOF = False
        If rs("e-Mail") <> "" Then
            txtBcc.Text = txtBcc.Text _
                            & rs("e-Mail") & ";" & vbCrLf
        End If
            rs.MoveNext
        Wend
    End If
    Set cn = Nothing
    Set rs = Nothing
End Sub
Mi copia nella casella corretta i risultati. Pero', ho due problemi:
1) me li copia come 
a...@io.it
;
pi...@io.it
; lasciando un ; di troppo alla fine 
della stringa. So che c'č un modo per eliminare l'ultimo carattere della 
stringa.
Mi pare Len() e Left
Quindi sarebbe:
txtBcc.Text = Trim(txtBcc.Text)
    txtBcc.Text = Left(txtBcc.Text, Len(txtBcc.Text) - 1)
Corretta vero? Perchč non mi pare funzionare
2) Come mai se in rs.Open "SELECT * FROM Rubrica", cn, 1
inserisco anche la condizione:
rs.Open "SELECT * FROM Rubrica WHERE Cognome = "Rossi" ", cn, 1
Non funziona piů nulla?
Grazie

 Non funziona piů nulla?
Anche qui: che significa non funziona piů nulla? Specifica, dettaglia,
precisa. Aiutaci ad aiutarti.
Come primo consiglio, anyway, potresti provare cosě:
"SELECT * FROM Rubrica WHERE Cognome = 'Rossi' ", cn, 1



Per una stringa precisa funziona questa
rs.Open "SELECT * FROM Rubrica WHERE Cognome = ""Rossi""", cn, 1
Graze