Visual Basic para Aplicaciones - Access-Visual Basic

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Access-Visual Basic

Publicado por Jon (12 intervenciones) el 03/01/2016 23:21:02
Buenos días:

Tengo creado un formulario para ventas, con fecha de venta, un autonúmerico como referencia de la venta y el código del cliente. Además tiene un campo que es "total de venta"

He asociado un subformulario para poder insertar distintos articulos vendidos, con una referencia del articulo y cantidad vendida y precio de venta, y un campo de total por articulo. He vinculado el subformulario con el formulario a través de la referencia de venta.

En una venta puedo tener distintas referencias de artículos con distintas cantidades vendidas. Quiero hacer una suma de los totales de artículos incluidos en la venta.

Como no he podido, he hecho la trampa de crear un campo calculado en el subformulario con la función "suma" y funciona, pero no me lo actualiza bien en el formulario para incluir el total de la venta en campo "total de venta".

Lo correcto debería ser poder una función suma cada ves que cambie el total por articulo y llevarlo al campo "Total de venta", pero no soy capaz de hacer.

¿Podéis ayudarme?. Gracias y un saludo
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
sin imagen de perfil
Val: 24
Ha disminuido su posición en 4 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Access-Visual Basic

Publicado por Tresy (46 intervenciones) el 06/01/2016 04:12:25
Hola: no es necesario un campo calculado en la consulta (si es que te entendí bien).
Es en el pie del subformulario que tenés que incluir un campo con la función suma. Algo asi: =suma(subtotal). Donde subtotal sí es un campo calculado en la consulta (por ejemplo: cantidad*precio). Si hay descuento por producto tendrás que incluir ese parámetro en la fórmula. Hecho esto, la propiedad visible del pie de pasar a NO. Y en el pie del Formulario, incluirás otro campo, que debe mostrar el total que arroja el campo del subformulario. No tiene que hacer una cuenta, sino simplemente repetir el valor del campo (algo así: =Forms!Venta!SubFormVenta.form!TotalSub. Venta es el nombre del Formulario. SubformVenta será el nombre del subformulario. y TotalSub, es el nombre del campo que está en el pie del subform. Forms y Form, en esa expresión, son parte de la sintaxis.
Qué faltaría: 1. que en algún campo del subform incluyas un evento Recalc o Repaint, para que actualice el cálculo ante cada nuevo producto que vayas incluyendo. 2. En un botón Cerrar (del Formulario) o en un botón Imprimir, o en un botón Actualizar, incluir un evento al mover el mouse o al hacer clic: por ejemplo, TotalVenta=Total, donde TotalVenta es el campo de la tabla Ventas, campo que debes incluir en el formulario con Visible en NO, y Total es el nombre del campo del pie del Form que replica el valor del campo TotalSub. Espero te resulte útil. Si podés, buscá un libro de Editorial Users (Buenos Aires, Argentina), que se llama Business Intelligence (con Access 2013), publicado en 2015, del que soy autor. Ahí está todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Access-Visual Basic

Publicado por Jon (12 intervenciones) el 07/01/2016 22:01:49
Gracias, por tu ayuda amigo. Lo solucionare como comentas.
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