¿Como sumar campos en formulario y grabar resultado?

En un formulario que ya tenía en funcionamiento he tenido que añadir varios campos de importe por lo que, en la tabla de la BD he creado los campos “PRECIO_A”, “PRECIO_B” y “TOTAL_C” (todos numéricos).

En el formulario he generado los correspondientes cuadros de texto, con la finalidad de que al rellenar los campos A y B me vaya dando el total en C, y que además, al grabar el registro, el valor de C quede registrado en la tabla correspondiente.

Mediante el siguiente código he conseguido que al indicar una cifra tanto en A como en B, se refleje el resultado en C.

Private Sub Texto35_AfterUpdate()

[TOTAL_C] = Nz([PRECIO_A] + [PRECIO_B])

Me.Refresh

End Sub

Para poder ver el resultado en el campo “C” he tenido que indicar en el Origen del Control lo siguiente:                            =[PRECIO_A]+[PRECIO_B]

Y hasta aquí he podido llegar, ya que me han surgido los siguientes problemas y no soy capaz de resolverlos:

  1. Si dejo uno de los 2 campos en blanco (A o B), no efectúa la suma. Aun cuando estoy empleando la función Nz, no puedo asignar el valor “;o” ya que da un error de sintaxis
  2. Desconozco como conseguir que, sin dejar de ver el total, pueda grabar el dato de “C” en la tabla.

1 Respuesta

Respuesta
2

Tienes que poner Nz a cada sumando

TextX=nz([a])+nz([b])

En el 2 te pasa porque tienes ocupado el origen del control del cuadro de texto TotalC con la instrucción. En sus propiedades-Datos-Origen del control ponle el campo de la tabla y en algún evento, por ejemplo, al recibir el enfoque(digo este por si dejaras los precios A y B en blanco) del cuadro de texto TotalC pon

totalc=nz([precioa])+nz(preciob])

No necesitas poner ningún cero. Por defecto la función Nz si no le dices nada en contra te transforma los nulos en ceros.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas