Creo haber entendido que insertas un registro en la base de datos e, inmediatamente después, necesitas recuperar los datos introducidos.
En access lo tendrías jodido, ya que, después de la inserción, tendrías que recuperar un recordset que contenga el mayor de los registros (suponiendo que sigues la normalizacdión de bases de datos) (función SQL MAX. Investiga).
con sql server o mysql lo tendrías muuuuuy fácil:
en sql server sería
Set rsultimo = conn.Execute("SELECT @@IDENTITY")
en mysql
set rsultimo=conn.execute("SELECT LAST_INSERT_ID();")
a partir de ahí, tan sólo tendrías que crear otro recordset filtrando por el valor que te devuelva rsultimo.
**nota:aún siendo creación de recordsets, el impacto en el servidor es mínimo ya que se va contra las tablas de sistema (manejadas a nivel interno con procedimientos compilados)
Si he entendido mal, lo dices.
PD:mare mía, mira que hablo cuando he hecho uso (abusivo o no, a quién le importa? a mi no

) del alcohol.