Completar campo de tabla con datos otros campos.

He hecho una tabla en la que figuran varios campos numéricos (Tanque 1, Tanque 2, Tanque 3, Tanque 4, Tanque 5 y Tanque 6) y quisiera conseguir que en otro campo (Total Cargado)
me salga el resultado de la suma de los campos anteriores.
Lo que he hecho hasta el momento es en un formulario en propiedades de "Total cargado", en Datos, En Origen de control, poner esto:  =([Tanque 1]+[Tanque 2]+[Tanque 3]+[Tanque 4]+[Tanque 5]+[Tanque 6]). Y si que me da el resultado en vista del formulario pero el  valor no se queda en la tabla.
Creo que he de realizar una Macro pero lo que he intentado no me sale.
Respuesta
1
Para que el resultado se te cargue en la tabla necesitas que ese campo exista en la tabla. El problema que veo aquí no es tanto de código sino de qué evento es el que más se ajusta a tus necesidades.
Te voy a explicar el caso más complicado, pero el que te dará "mayores garantías" ante cualquier eventual cambio. Lógicamente es el más trabajoso (entre comillas).
Lo que debes hacer es lo siguiente:
1.- Abres tu tabla en vista diseño y le añades un campo que te guardará el total. Para ser originales lo llamaré [Total], de tipo numérico.
2.- Sacas las propiedades de total caragado y te vas a la pestaña Datos->Origen del control, y le seleccionas el campo [Total]. Voy a suponer que este control se llama txtTotal (propiedades->pestaña otras->Nombre)
3.- Sacas las propiedades del campo [Tanque 1] y te vas a la pestaña eventos->"Después de actualizar", y le generas el siguiente código (supongo que sabes cómo hacer eso. Si no me lo comentas):
...
Private Sub...
Dim vTotal as currency
vTotal=me.[Tanque 1].value+me.[Tanque 2].value+me.[Tanque 3].value+me.[Tanque 4].value+me.[Tanque 5].value+me.[Tanque 6].value
me.txtTotal.value=vTotal
End Sub
...
4.- Ahora debes sacar las propiedades de tanque 2 y siguientes y en cada uno y en el mismo evento debes copiar-pegar el código anterior.
A ver cómo te funciona. Ya me dirás.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas