Expongo mis dudas:
Tengo un modulo de ventas en el cual necesito obtener un total añadiendo al subtotal un descuento y el i.v.a los cuales los puede modificar el usuario a su conveniencia pero no encontrado la forma correcta de hacerlo funcionar.
Explicando mas detalladamente el problema seria
Subtotal : 30.00 pesos
Descuento: ?
I.v.a: ?
Total: 30.00 pesos (Esto cambia si yo aplico un descuento o un i.v.a)
Las operaciones las realiza, el problema que tengo es en cuestión de que no he podido combinarlas para obtener el total por ejemplo si en 'Descuento' aplico el 10% el total = 27.00 y si a esa cantidad (27.00) le aplico el 16% de i.v.a el total es: 31.32, pero si yo a 30.00 (Subtotal) ingreso primero el 16% (i.v.a) el resultado es: 34.80 y posteriormente ingreso el 10% de descuento la operación que me realiza es restarle el 10% de 30.00 (Subtotal) y no de 34.80. Entonces mi problema es poder jugar correctamente con las 4 cifras dando los resultados correctamente, pondré un código de como lo estoy haciendo.
Código:
Private Sub txtDescuento_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescuento.LostFocus If txtDescuento.Text = "" Then lblTotal.Text = lblSubtotal.Text Else lblTotal.Text = Val((txtDescuento.Text) * CDbl(lblSubtotal.Text)) / 100 lblTotal.Text = Format(CDbl(lblTotal.Text), "$#,###,###,##0.00####") End If End Sub
Código:
También otra cosa que quería saber si es posible y como que el total cambie conforme yo vaya escribiendo en los campos de texto y no hasta perder el focus alguna manera mejor que me pudieran decir?Private Sub txtIva_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtIva.LostFocus If txtIva.Text = "" Then lblTotal.Text = lblSubtotal.Text Else lblTotal.Text = CDbl(lblSubtotal.Text) + ((Val(txtIva.Text) * CDbl(lblSubtotal.Text)) / 100) lblTotal.Text = Format(CDbl(lblTotal.Text), "$#,###,###,##0.00####") End If End Sub
Bueno ojala y me hayan entendido ... y me puedan asesorar sobre el tema, tal ves sea algo simple pero ando un poco ciclado, gracias por leerme.