Mucho me temo que no puedo ayudarte ya que no he trabajado nunca con dbgrid en access. La recuerdo de visual basic. Lo que sí podrías hacer es asignar el recordset a una consulta, mostrarla y luego borrarla. Creo que se le puede asignar la consulta a un subformulario, pero no estoy muy seguro de las instrucciones a utilizar (se que hay que asignarle la consulta a la propiedad SourceObject del subformulario). Para crear una consulta de access a partir de una sentencia sql hay que hacer lo siguiente:
Dim NewQueDef As QueryDef
Dim ConsultaSql As String
ConsultaSql = "SELECT ..." 'Creamos la sentencia slq
Set NewQueDef = CurrentDb.CreateQueryDef("ConsultaTemporal", ConsultaSql) 'Creamos la consulta
'Aquí la puedes abrir o intentar asignarsela a un subformulario. Creo que las sentencias son las siguientes:
docmd.OpenQuery "ConsultaTemporal" 'Para abrir la consulta en ventana nueva
subformulario.SourceObject = newquerydef 'No estoy muy seguro. Si no, intenta poner el nombre de la consulta, buscar la coleccion de consultas, etc. Esto se utilizaría para asignarle la consulta al subformulario
CurrentDb.QueryDefs.Delete "ConsultaTemporal" 'Borramos la consulta
Espero que te pueda servir de algo y siento no poder ayudarte más Si no te sirve prueba a volver a hacer la pregunta en el foro. Igual alguien puede ayudarte. Un saludo.