Llenar datos de un campo independiente en un subformulario continuo, diferentes para cada registro

Se trata de gestionar un grupo de unas decenas de empresas en las que muchos de los socios son comunes a varias de ellas.

Tengo un formulario con datos de una tabla Empresas (IdEmpresa, NombreEmpresa, DomicilioEmpresa, CapitalEmpresa, Actividad,...)

Quiero identificar los socios y participación en el capital de cada empresa, para lo cual tengo una tabla Relaciones(IdSocio, IdEmpresa, CapitalSocio, Cargo, ...)

Utilizo un subformulario continuo en el que veo los socios en función de cada empresa en el que añado, quito o modifico los valores que corresponda.

Quiero además, y eso no sé como hacerlo, que en la línea de cada selección en el subformulario (cada relación IdSocio, IdEmpresa) poder ver datos adicionales de fuera de la selección correspondiente. Por ejemplo ver el porcentaje de capital que ese socio tiene en esa empresa, o el valor de los regalos recibidos que se encuentran en otra tabla, o . Además quiero ver alguno de los datos de una tabla Socios(IdSocio, Apellidos, Nombre, Domicilio, NIF, ...)

He intentado poner en el formulario un textbox (NombreTextBox) independiente, y rellenar su valor con datos obtenidos de una consulta, bien mediante una búsqueda SELECT bien mediante un DLookUp, u obtenidos mediante un cálculo o selección de valores. El problema es que cuando asigno el valor al textbox NombreTextBox.Value = (DlookUp(...)) me rellena todas las líneas correspondientes a todos los socios con ese valor, y no solamente la correspondiente a la línea actual,  y modifica el valor también de todas las líneas conforme me desplazo de una línea a otra.

He probado en eventos del subformulario: Al activar y al cargar; y en eventos del cuadro combinado en el que selecciono el socio: Antes de actualizar, después de actualizar, al recibir el enfoque, al entrar, al salir, sin resultado satisfactorio.

En resumen solicito ayuda para poner un dato en un textbox, distinto en cada línea del subformulario, tanto en la fase de carga del subformulario como durante su manejo.

Uso Access 2010 y VBA.

1 Respuesta

Respuesta
2

En un formulario continuo, con un cuadro de texto independiente, es imposible hacerlo, porque el cuadro de texto es único para la sección detalle, aunque lo veas varias veces, y al no depender del registro (por ser independiente), siempre mostrará el mismo valor en todos.

Solución que se me ocurre: crea una consulta con los campos de tu tabla base para el subformulario, y añádele a esa consulta el resto de campos con información "auxiliar" que quieras mostrar, ya sea a través de las relaciones con las demás tablas, o bien mediante fórmulas y/o expresiones. Por último crea el subformulario sobre esa consulta.

Un saludo.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas