Código vb:
Ver originalSql = "SELECT * FROM Categorias ORDER BY Categoria_Nombre"
Conectar.Open "Provider = Microsoft.jet.oledb.4.0; data Source = C:\Users\Admin\Documents\Database_ARE[MJ].mdb"
Query.Open Sql, Conectar, adOpenDynamic, 3
Set tRs = Conectar.Execute(Sql)
Set DataGrid1.DataSource = Query
'te deja el recordset en el primer registro
While Not Query.EOF
'mostrar el campo que quieras si es mas de uno debes concatenarlos
MsgBox (Query!Categoria_Nombre)
Query.MoveNext
Wend
'Cierra, Libera la memoria
Query.Close
Set Query = Nothing
Conectar.Close
Set Conectar = Nothing
de verdad no entiendo tu codigo...
-- Declaracion de Variables (ADODB.Connection -> ADODB.Recordset)
-- Conexion de ADODB.Connection
-- Conexion de ADODB.Recordset con el ADODB.Connection y la Consulta
-- Setear El DataGrid con el ADODB.Recordset
-- Recorrer el ADODB.Recordset
-- Cerrar ADODB.Recordset y ADODB.Connection
en ese orden... ahi no se cual es tu Recordset... si tRs o Query... pero el Seteo del DataGrid ponlo fuera del WHILE...