Utilizzando il metodo che hai scritto crei un datareader. Infatti, per te, quell'oggetto read è il DataReader. Quest'ultimo è simile ad un recordset forwardonly, ovvero che può essere letto in avanti una sola volta. Di conseguenza, ti conviene utilizzare un Datatable, in modo da poterti spostare sulle righe in maniera dinamica.
fai così..
Ammettiamo che tu abbia già la tua connessione nell'oggetto conn e che hai importato il namespace System.Data
conn.open()
'crei il comando con dentro la tua query, relativo alla connessione conn
Dim objCmd as new OledbCommand("SELECT * FROM TABELLA",conn)
'crei l'adapter per ottenere i dati in modalità disconnessa
Dim objDA as new OledbDataAdapter(objCmd)
'crei un datatable vuoto
Dim DT as new DataTable("prova")
'scrivi nel datatable il risultato della query col metodo Fill del dataadapter
objDA.fill(DT)
'a questo punto hai il datatable popolato, se i dati ci sono
if not DT is nothing andalso DT.rows.count > 0 then
'qui lavori sulle righe e sulle colonne con le sintassi DT.Rows(indicecolonna).Item("Campo1")
end if
detto questo, quante righe torna la tua query? perchè se è una sola puoi usare DT.Rows(0).item("campo che ti serve")
ciao!
Alx81 =)
http://blogs.dotnethell.it/suxstellino