Me explico, en GASTOS, puede haber un "Sub Total" que venga de la tabla
"ventas de productos" y el sub total sera "PRECIO*CANTIDAD", otro de la tabla
"Pagos Planilla" con un origen de "sub total" llamado "Total Planilla", ahora
despues de obtener el "Sub Total", le ocupo sumar IV, restar descuentos etc.
para que me de un Gran Total, por lo que ocupo guardar en la tabla GASTOS, el
valor de Sub Tota.
Espero haberme explicado.
Gracias
Si te es muy complicado volver a calcular ese sub total, podrás guardarlo
siempre y cuando asignes el valor a un control dependiente del formulario
que está tirando de la tabla donde quieres guardarlo, al igual que con el
resto de datos.
Como ahora tienes un control independiente en el formulario donde se muestra
el sub total, puedes agregar otro cuadro de texto con origen en el campo de
la tabla donde quieres guardar el sub total, y asignarle el valor por código
o macro cada vez que actualices algún dato.
Nota: No lo intentes en los eventos Antes de actualizar/Después de
actualizar del control independiente. Como se actualiza automáticamente,
estos eventos no se ejecutan nunca en los controles independientes.
--
Un saludo,
Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/
"Patxi Sanz" escribió:
> .
>
Gracias
"busqueda en access" escribió:
Pero como quieres un ejemplo, vamos a suponer lo siguiente:
1.- Tenemos una tabla, de nombre MiTabla, que alimenta a un formulario
llamado MiFormulario.
2.- En el formulario hay 2 controles dependientes:
- Control1, que depende del campo Campo1.
- Control2, que depende del campo Campo2.
3.- En el formulario hay un control independiente, de nombre
ControlIndependiente, con la siguiente fórmula:
= Control1 + Control2 + 5 / 2 - 3
4.- En el formulario agregamos otro control, ControlDependiente, que va a
guardar en la tabla el dato que calcule el control independiente.
Como ya sabemos que el control independiente no va a lanzar un evento Antes
o Después de Actualizar, tenemos que revisar el cálculo, y ver qué controles
o factores intervienen. En este caso, hay 2 controles dependientes: Control1
y Control2.
Así, cada vez que se modifiquen el Control1 o el Control2, sabemos que se
modificará el cálculo y tenemos que actualizar el control dependiente:
Private Sub Control1_AfterUpdate()
Me.ControlDependiente = Me.ControlIndependiente
End Sub
Private Sub Control2_AfterUpdate()
Me.ControlDependiente = Me.ControlIndependiente
End Sub
Otra posibilidad es eliminar el control independiente, y ejecutar el cálculo
cuando se modifiquen los datos en los controles 1 y 2, y asignarlo al
control dependiente directamente:
Private Sub Control1_AfterUpdate()
Me.ControlDependiente = Me.Control1 + Me.Control2 + 5 / 2 - 3
End Sub
Private Sub Control2_AfterUpdate()
Me.ControlDependiente = Me.Control1 + Me.Control2 + 5 / 2 - 3
End Sub
La fórmula es más o menos esta: revisar en el cálculo que hacemos qué
controles puede modificar el usuario directamente, y usar sus eventos
Después de Actualizar para actualizar el valor del control que va a guardar
el dato calculado en la tabla.
Y otra cosa: el control dependiente donde se va a guardar el cálculo debe
estar bloqueado preferiblemente, para evitar que el usuario pueda modificar
ese dato y guardar algo que no es lo que hemos calculado.