Actualizar un control de un formulario, al cambiar un control de un subformulario

Aqui estoy un poco pez. A ver si alguien me puede ayudar. Tengo una formulario, para hacer facturas. Dentro de este formulario, tengo un subformulario (articulos) para introducir los artículos, con diferentes controles. Articulo, cantidad, precio, descuento...

Bien. Cuando voy metiendo artículos, y termino, tengo un evento, que al salir del subformulario, me calcula la base., el iva y el total.

Hasta aquí me funciona perfectamente, no se si bien hecho o mal, pero funciona.

El problema lo tengo porque quiero que la base se actualice, cuando vaya cambiando los datos de cada registro de artículos.. Es decir. Meto un articulo que cuesta 10€, y en la base me actualiza a 10€. Si le cambio la cantidad a 3 unidades, la base se me actualiza a 30€. Si meto un descuento lo mismo. Se me actualice la base... Vamos que se me actualice en cada cambio, y no solo al final, cuando salgo del subformulario.

Casi todo lo hago con macros, porque no controlo mucho de codigo. Mi conocimiento es muy limitado. No se si por macros se puede realizar. Todo lo que he probado, no lo consigo.

1 Respuesta

Respuesta
1

Creo que con macros no lo puedes hacer, al menos no lo sé, entre otras cosas porque odio las macros.

Pero puedes hacerlo perfectamente en código. En el evento después de actualizar del cuadro de texto cantidad puedes poner(suponiendo que en el formulario estén los campos idloquesea, producto, precio, cantidad, subtotal)

docmd.setwarnings false

subtotal=precio*cantidad

docmd.runcommand accmdsaverecord

Vamos a suponer que tienes un formulario Facturas con, por ejemplo, Idfactura, Fechafactura,, cliente,..., Subtotal, Iva y Total, y que el formulario y el subformulario DetalleFactura están relacionados por Idfactura. El evento anterior lo puedes poner como

docmd.setwarnings false

subtotal=precio^cantidad

docmd.runcommand accmdsaverecord

me.parent!subtotal=dsum("subtotal","detalleFactura","idfactura=" & me.idfactura & "")

me.parent!iva=0.21*me.parent!subtotal

me.parent!total=me!parent!subtotal+me!parent!iva

Así, a medida que vayas poniendo productos en el campo Subtotal del formulario te irá sumando los diversos subtotales del subformulario, y te los pasa al cuadro Subtotal del formulario, y asimismo te irá rellenando el IVA y el Total

De todas formas, si quieres, repito, si quieres, mándame un mensaje a [email protected] y te mando un ejemplo, que es como mejor se ve. Si lo haces, en el asunto del mensaje pon tu alias Ander ya que si no sé quien me escribe ni los abro.

gracias Icue. Voy a probar y te digo si me funciona.

Cualquier cosa me lo dices y ya la arreglaremos.

¡Gracias! Icue.

Finalmente adapte tu código y he insertando en el código me.recalc

Así se me actualiza lo que yo quería.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas