RE:Lento recorrido de recorset con ADO
Si estás trabajando con Access, definitivamente haber hecho el cambio a ADO fue una perdida de performance, ya que DAO usa directamente el Motor JET, y ADO debe usar un puente OLEDB para acceder al mismo.
Obviamente, si antes usabas DAO y ahora cambiaste, por algo debe ser.
Si la base es una SQL, ADO era la mejor solución
De cualquier forma, me parece que el problema puede estar al momento de, llenar el grid.
Primero: es un DataGrid un MSFlexgrid?
Segundo: lo llenas a mano (o sea, recorriendo cada registro y colocando el valor en la celda) o usas asignación directa (ej: set msflexgrid.datasource = mirecordset)??
Tercero: si lo haces a mano, te recomiendo que pruebes con asignación directa.
Cuarto: Si lo haces con asignación directa, tendrás que acostumbrarte!!!!
Quinto: ATENCION: un MSFlexgrid no acepta recordsets de ADO, sólo recordsets de DAO. Si estás usando un MSFlexgrid (obviamente recorriendo los registros a mano) y ADO, te recomiendo que cambies el MSFlexgrid por un MSHFlexgrid (Microsoft Hierarchical FlexGrid), que es un 90% similar, y permite recordsets de ADO, por lo cual podrás hacer "asignación directa".
SALUDOS!!!!
saludos