Llamar a un formulario desde un registro

Tengo un problema con mi base de datos, que no parece ser complejo, pero soy incapaz de dar con la tecla. Espero que me ayudéis.

Hay un formulario llamado “FConsultaPA”, que contiene varios campos combinados en cascada, a modo de filtro, que me devuelve el resultado en un subformulario llamado “Subform2” )cuyo origen de registro procede de una consulta: CConsultaPA), y contiene, además de varios campos de texto, un subformulario llamado “TablaSesiones”, en vista hoja de datos.

El subformulario “TablaSesiones” se basa en una consulta llamada “ConsultaNueva” que obtiene los datos de dos tablas “ProgramacionDeAula” y “Sesiones”, de esta última toma el campo “Sesión”.

Lo que pretendo es que en el evento “Al hacer doble click” sobre el registro que desee del subformulario “TablaSesiones”, por ejemplo S1. “Calentando motores”, se me abra un formulario llamado “Actividades” que contiene un subformulario llamado “SubformularioSesiones” y que está basado en la tabla “Sesiones”, pero con el registro correspondiente, es decir S1. “Calentando motores”.

Hasta ahora he conseguido abrir el formulario “Actividades”, pero no me muestra el registro que deseo, sino que me muestra el primer registro. He intentado conseguir mi objetivo por medio del generador de macros, en el evento “Al hacer doble click” del campo “Sesiones” del subformulario “TablaSesiones”, pero no hay modo.

En fin.

1 respuesta

Respuesta
1

Estás haciendo un curioso retruécano de formularios-subformularios. Si no te he entendido mal, lo que tienes (o supongo que tienes es):

a- Por una parte, el subformulario "TablaSesiones"

b- Por otra parte, un formulario "Actividades"

c- Por otra parte, un subformulario "SubformularioSesiones", que entiendo que está relacionado con el formulario "Actividades" por algún campo.

Lo que sería conveniente es que tuvieras un identificador inequívoco que te relacionara ambos registros. O eso o lo haces por el valor del campo, lo cual no sería lo óptimo.

Suponiendo que en el registro del subformulario tienes un campo llamado [Id], de manera que, por ejemplo, y con una estructura simplificada: [Id] [CampoX]:

24 - Calentando motores

Y que a su vez tienes un registro relacionado en el origen de datos del formulario "Actividades", llamémosle [IdActividad], lo que el código "Al hacer doble click" debería hacerte es:

docmd.openform "Actividades",,,"[IdActividad]= & me.[Id].value

Si operas con cadena de texto (es decir, que [Id] e [IdActividad] sean string, el código debería ser:

docmd.openform "Actividades",,,[IdActividad]='" & me.[Id].value & "'"

Entiendo que, al tener "Actividades" relacionado con "subformularioActividades", automáticamente ya se te abrirá por el registro relacionado con el que has abierto "Actividades".

A ver si puedes hacerlo así.

Visítanos en: http://nksvaccessolutions.com/

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas