Guardar Campo Calculado

21/04/2010 - 22:25 por busqueda en access | Informe spam
Hola, tengo un campo de un Subformulario llamado "DETALLES" (Subformulario de
"FORMULARIO GASTOS") que su origen es una formula " PRECIO*CANTIDAD", este
campo lo ocupo guardar en el campo del "FORMULARIO GASTOS" llamado"Sub
Total", que se guarda en la tabla "GASTOS" la cual es el origen, esto porque
tengo varios subformularios que me dan valor para "Sub Total"

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

Preguntas similare

Leer las respuestas

#1 Patxi Sanz
22/04/2010 - 18:08 | Informe spam
Hola:

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/
Respuesta Responder a este mensaje
#2 busqueda en access
22/04/2010 - 19:14 | Informe spam
Ok, muchisimas gracias por responder, lo voy a intentar.

"Patxi Sanz" escribió:

Hola:

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/

.

Respuesta Responder a este mensaje
#3 Patxi Sanz
23/04/2010 - 18:03 | Informe spam
De nada :-)

Un saludo,


Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/
Respuesta Responder a este mensaje
#4 busqueda en access
24/04/2010 - 22:26 | Informe spam
Hola, disculpa pero he estado tratando de asignarle algun codigo para copiar
el dato del control independiente donde esta la operación al dependiente
donde se debe guardar y no he podido, no podrias ayudarme con algun ejemplo.

Gracias

"busqueda en access" escribió:

Ok, muchisimas gracias por responder, lo voy a intentar.

"Patxi Sanz" escribió:

> Hola:
>
> 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/
>
> .
>
Respuesta Responder a este mensaje
#5 Patxi Sanz
25/04/2010 - 09:28 | Informe spam
Todo dependerá de cómo tengas montado todo, y sobre todo del cálculo que
hagas en el control independiente.

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.

Un saludo,


Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida