Vorrei aiutarti, ma non mi sembra di aver capito.
Ti crei una tabella temporanea che ogni volta può cambiare nelle "quantità" di campi del record? E perchè vuoi utilizzare la funzione di recupera campi della griglia?
Non basterebbe disegnare nel tuo form una griglia e da codice assegnare il recordset della tabella appena creata in questo modo?
codice:
Dim Rs As New ADODB.Recordset
' qui crei la tua tabella, con i dati, poi
If Rs.State = 1 Then Rs.Close
Rs.CursorLocation = adUseClient
Rs.Open "select * from tabellatemp", Db, adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = Rs
Ciao