Hola:
Antes de nada, quería dar las gracias a quienes altruistamente hacéis funcionar estos foros. Y, una vez hecho esto, lo que quiero es aprovecharme de esa sabiduría que derrocháis.
Por poneros en contexto: no utilizo Windows con asiduidad, soy "más bien de Linux", aprendí a programar en Pascal (bueno, si descontamos el micro-Basic del Spectrum), puedo manejarme con C y similares y, para soluciones "quick & dirty", me siento cómodo en Python, pero sin florituras. Así pues, cuando he de programar cualquier cosita de andar por casa para, por ejemplo, Access, me vuelvo loco con el VBA: se me ocurre cómo haría algo parecido en otros lenguajes, pero casi nunca encuentro un equivalente VBA a como yo querría enfocar el problema (y, además, me quedo sin saber si es que la filosofía VBA es muy diferente o, simplemente, que no sé encontrar las cosas). Y me da la impresión de que por aquí podríais echarme una mano, lo que os agradecería.
Por poner el ejemplo que me preocupa ahora: he estado mirando en este mismo foro el hilo sobre el botón que, desde un formulario, debería volcar el contenido del registro actual a una plantilla de Word, así como la solución que a ese mismo problema ofrecen en ProInf.net ("Rellenar una plantilla de MS-Word a partir de una consulta en MS-Access", ejemplo básico, función InformeWord). Allí utilizan una plantilla Word con texto (sin "bookmarks"

que la función sustituye por el valor de los campos que, en el registro actual del formulario, se llaman igual que ese texto. Lo que no me gusta (pero quizá no se pueda hacer de otra manera, eso es lo que me quisiera averiguar) es que para poder acceder cómodamente desde VBA a ese registro actual han de construir un "DAO.Recordset" (con ese nombre no puede ser nada bueno) resultante de una consulta cuyo único objetivo parece ser seleccionar un conjunto de registros que coincida, precisamente, con sólo el registro actual. La orden principal es ésta:
Set rs = CurrentDb.OpenRecordset(consulta, dbOpenForwardOnly)
Lo bueno que tiene esto es que luego puedes recorrer elegantemente la lista de campos del registro con
For Each campo In rs.Fields
y, al ir a volcar los datos sobre la plantilla Word, tanto el nombre del campo ("campo.Name"

como su valor ("rs(campo.Name)"

son cómodamente accesibles. La pregunta sería: ¿no hay ninguna forma sencilla en VBA de referirse al objeto "registro actual del formulario" y obtener de él sus campos, es decir, sus pares nombre/valor? Lo que yo querría es algo del tipo
For Each campo In CurrentRecord.Fields
olvidándome de consultas y conjuntos de registros que conceptualmente, a priori, me parecen innecesarios para los fines que se persiguen.
Bueno, este es el tipo de obsesiones que consiguen ocuparme íntegramente una tarde :-|
¿Soy un caso perdido? ¿Hay esperanza para mí? Y, de haberla... ¿está en este foro?
En cualquier caso, mi reconocimiento personal a quien haya aguantado leyendo hasta aquí, que no es poco aguantar...
Be happy!
Efe