Access - subformulario independiente

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 5 puestos en Access (en relación al último mes)
Gráfica de Access

subformulario independiente

Publicado por Miguel (59 intervenciones) el 28/03/2024 02:04:40
Hola a todos, me pueden dar una ayuda o idea?

Tengo un formulario que sus campos o cuadros de texto, están relacionados con una sola tabla (aprox 20 campos), pero dentro de este formulario principal, tengo un subformulario con aprox 80 campos "independientes" los cuales se actualizan o calculan con los datos que vienen del formulario principal.

Cuando modifico o agrego un registro, al terminar de guardar los datos del formulario principal, se actualizan los datos del subformulario.

Mi problema está cuando intento ingresar un nuevo registro, el SUBFormulario se queda con los datos del registro anterior.

Como puedo hacer para que al intentar agregar un nuevo registro, los campos INDEPENDIENTES del subformulario se pongan o queden en blanco?

Pueden ayudarme?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

subformulario independiente

Publicado por Anonimo (3369 intervenciones) el 28/03/2024 10:03:56
Si los cuadros de texto del subformulario son independientes, lo que ocurra en el principal le importa poco (mas bien NADA), otra cosa es que sean 'cuadros calculados' que toman referencias del objeto principal.

Para que un objeto independiente cambie de valor se le ha de cambiar de valor directamente
(para que cambie de forma 'automática', ha de existir una relación de dependencia con el objeto al cual se pretende relacionar)

Se puede forzar la actualización de los objetos calculados (estén o no estén de alguna forma relacionados con el formulario principal) en el evento 'al cambiar de registro' (CURRENT) del formulario principal:

1
Me.[nombre del sub-formulario].FORM.Recalc

Desglosando la sentencia:
Me ==> la referencia al formulario en que se ejecuta el código
[nombre del sub-formulario] ==> el subformulario como 'objeto' del principal
FORM ==> indicador de que 'el objeto' es un formulario
Recalc ==> la acción que se le impone al subformulario, el 'recalculo' de sus objetos calculados.

La alternativa es que se cree una subfunción con los cálculos que se hacen actualmente y en el evento 'cambio de registro' del principal se la llame (o simplemente la subfunción borra los contenidos de todos los objetos del subformulario ....)
En este caso tendria una linea por objeto del subformulario (o un bucle que los recorra) con esta sentencia:

1
Me.[nombre sub-formulario].FORM.[objeto subformulario] = "" ' una cadena vacía, un cero o incluso un NULL si lo acepta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar