Campo dependiente desde un campo independiente

Tabla con campos entre otros: Cantidad Precio Iva Importe
Formulario con esos mismos campos. Ademas un campo independiente donde realizo el calculo del importe con la expresión :
Origen de control =([Cantidad]*[Precio])+(([Cantidad]*[Precio])*[IVA]/100)
El resultado de ese campo, quiero pasarlo a un campo dependiente donde el origen de control es el "Importe" de la tabla, para ello defino en el formulario
Private Sub Cantidad_AfterUpdate()
Me.Total = Me.calculoimporte
End Sub
Private Sub IVA_AfterUpdate()
Me.Total = Me.calculoimporte
End Sub
Private Sub Precio_AfterUpdate()
Me.Total = Me.calculoimporte
End Sub
Y no va, alguien me puede ayudar???? Mi nivel basicoooooooooo o menos
gracias anticipadas

1 Respuesta

Respuesta
1
Prueba de la siguiente forma:
Private Sub Cantidad_AfterUpdate()
    actualizaImporte
End Sub
Private Sub IVA_AfterUpdate()
    actualizaImporte
End Sub
Private Sub Precio_AfterUpdate()
    actualizaImporte
End Sub
Private Sub actualizaImporte()
    Me.Total = Round(nz(Cantidad,0)*nz(Precio,0)*(1+nz(IVA,0))/100,2)
End Sub
El control 'Total' será un campo dependiente que esté asociado a la tabla.
Yo cambiaría el nombre de ese campo, ya que la palabra 'total' es igual en inglés y español y podría darte problemas pues en algún punto puede aparecer como palabra reservada. Cambia el nombre del campo por 'importeTotal' o algo así.
Te he puesto para que te redondee a 2 decimales el precio con IVA. Tu verás si lo quieres así o lo quitas.
Lo he hecho así y he cambiado el nombre del campo a "Coste" y tampoco funciona. El código es este:
Private Sub Cantidad_AfterUpdate()
    actualizaImporte
End Sub
Private Sub IVA_AfterUpdate()
    actualizaImporte
End Sub
Private Sub Precio_AfterUpdate()
    actualizaImporte
End Sub
Private Sub actualizaImporte()
    Me.Coste = Round(Nz(Cantidad, 0) * Nz(Precio, 0) * (1 + Nz(IVA, 0)) / 100, 2)
End Sub
Por si sirve de algo, uso access 2007
Gracias
prueba con el evento "_Change" en lugar del "_AfterUpdate"
Ha quedado así y sigue sin funcionar, Access solo me esta dando problemas, creo que al final desistiré porque se para hacer algo tan "sencillo" me da estos mareos no te digo nada cuando necesite algo más complicaco
Private Sub Cantidad_Change()
    actualizaImporte
End Sub
Private Sub IVA_Change()
    actualizaImporte
End Sub
Private Sub Precio_Change()
    actualizaImporte
End Sub
Private Sub actualizaImporte()
    Me.Coste = Round(Nz(Cantidad, 0) * Nz(Precio, 0) * (1 + Nz(IVA, 0)) / 100, 2)
End Sub
Gracias por tu ayuda S.M.F.
Si quieres envíame la base de datos en un fichero "zip" a mi correo y te la devuelvo revisada.
No es tan difícil, lo que pasa es que a veces nos trabamos con cosas sencillas. Nos pasa a todos.
Envíamelo a: [email protected] y me pones en el correo que eres de esta página (si recibo correos que no sé de quién son los borro).
Verás como no es para tanto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas