Ok me ne farò una ragione! 
E' solo che con Vb6 era tutto molto + facile. dichiaravo l'oggetto recordset e usavo sempre quello modificandone il source qui invece devo fare una variabile ogni volta che mi connetto...
tipo:
codice:
'Connessione:-----------------------
Dim PercorsoDB As String = miaCartella & "/proprietà.mdb"
Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & PercorsoDB
Dim Cn As New OleDbConnection(ConnString)
Dim sql As String
'----------------------------------
sql = "SELECT * FROM categorie"
If Cn.State = ConnectionState.Open Then
Cn.Close()
End If
Cn.Open()
Dim cmd0 As New OleDbCommand(sql, Cn)
Dim dr0 As OleDbDataReader = cmd0.ExecuteReader
While dr0.Read
cmbCat.Items.Add(dr0.Item("categoria"))
End While
cmd0 = Nothing
dr0.Close()
dr0 = Nothing
sql = "SELECT * FROM stili"
If Cn.State = ConnectionState.Open Then
Cn.Close()
End If
Cn.Open()
Dim cmd0 As New OleDbCommand(sql, Cn)
Dim dr1 As OleDbDataReader = cmd0.ExecuteReader
While dr1.Read
cmbCat.Items.Add(d1.Item("stile"))
End While
cmd1 = Nothing
dr1.Close()
dr1 = Nothing
vedi dr0, dr1, cmd0, cmd1.....non posso usare sempre dr e cmd cambiandone il contenuto di volta in volta?