¿Cómo hacer el calculo automático en cuadro de texto de formulario?

Tengo varios cuadros de texto en un formulario llamados (BImponible, IVA, ImporteIVA, Total) quiero que en el cuadro IVA me salga por defecto 10%, el importe de la BImponible se pondría manual y que automáticamente se pusiera en el cuadro ImporteIVA, el importe del IVA calculado con la BImponible, y que en el cuadro Total me saliera el total de la factura.

¿Dónde debo de poner estas fórmulas?

2 respuestas

Respuesta
1

Puedes poner este código en el evento "Después de actualizar" de tu campo BImponible:

Private Sub BImponible_AfterUpdate()Me.IVA=0.1Me.ImporteIVA=Me.BImponible*Me.IVAMe.Total=Me.BImponible+Me.ImporteIVAEnd Sub

Por si cambias manualmente el valor del campo IVA, en "Despues de actualizar" de ese campo, pones este otro:

Private Sub IVA_AfterUpdate()Me.ImporteIVA=Me.BImponible*Me.IVAMe.Total=Me.BImponible+Me.ImporteIVAEnd Sub

Para que el campo IVA te quede como porcentaje, has de ponerle ese formato en las propiedades del campo.

Hola, según sus indicaciones me da error:

Cuando le doy a registro nuevo, en el cuadro IVA me sale 1000,00%, cuando introduzco un importe en el cuadro BImponible, automáticamente el cuadro de IVA se cambia a 0,00%. En el cuadro de ImporteIva me aparece 0,00% y en Total me aparece el mismo importe que he introducido en BImponible.

Te indico lo que he puesto en BImponible, después de actualizar:

Private Sub BImponible_AfterUpdate()

Me.IVA = 0.1
Me.ImporteIVA = Me.BImponible * Me.IVA
Me.Total = Me.BImponible + Me.ImporteIVA

End Sub

En IVA, despues de actualizar:

Private Sub IVA_AfterUpdate()
Me.ImporteIVA = Me.BImponible * Me.IVAMe.Total = Me.BImponible + Me.ImporteIVA
End Sub

En ImporteIva y Total no he puesto nada

¿Me podrías indicar donde esta el error?

Y que me salga fijo el porcentaje 10% en IVA y me haga el calculo bien.

Gracias

El código del campo IVA lo tienes mal (en mi respuesta anterior lo juntó todo en una sola línea), y debe ser así:

Private Sub IVA_AfterUpdate()
Me.ImporteIVA = Me.BImponible * Me.IVA

Me.Total = Me.BImponible + Me.ImporteIVA
End Sub

Lo de que te ponga 1000,00% ha de ser por las propiedades de formato (bien en la tabla o en el formulario). Has de comprobarlo en los dos sitios. Yo te diría que le pusieras formato Porcentaje y 0 decimales (para que te salga 10%, 21%...)

También es probable que te salga esos 1000,00% porque le tienes puesto como valor predeterminado 10, cuando en realidad tendrás que ponerle 0,1.

Lo de que al poner la base imponible te ponga IVA 0%, es porque el campo en la tabla has de definirlo como Doble, no como entero largo (que seguro es como lo tienes)

Te subo un ejemplo para que veas que funciona.

Respuesta
1

Has este procedimiento

    Sub operacion()
        Dim BImponible, iva, importeiva, total As Integer
    Sub operacion()
        Dim BImponible, iva, importeiva, total As Integer
        BImponible = TextBox1.Text
        iva = 10
        importeiva = (BImponible * iva) / 100
        total = BImponible + importeiva
        TextBox2.Text = iva & "%"
        TextBox3.Text = importeiva
        TextBox4.Text = total
    End Sub

Ahora ese procedimiento se manda llamar desde el textbox donde colocas el valor ( Yo no puse nombres, los dejes default )

    Private Sub TextBox1_Leave(sender As Object, e As EventArgs) Handles TextBox1.Leave
        Call operacion()
    End Sub

Espero que sea lo que necesitas... cualquier cosa aquí estamos!...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas