Access - GUARDAR VALOR AL SALIR

   
Vista:

GUARDAR VALOR AL SALIR

Publicado por susana0000 (54 intervenciones) el 14/11/2007 14:10:43
Hola, a ver si me podeis ayudar:

Tengo un formuario VENTAS con un subformulario ARTICULOS dentro.
En el subformulario ARTICULOS aparecen los articulos que se venden con un PVP.
En el formulario VENTAS aparece el TOTAL del PVP de todos los articulos que voy incorporando al subformulario. Hasta aqui bien.

El problema esta en que ese TOTAL es un campo calculado, que he hecho mediante un cuadro de texto. El valor me lo saca correcto, pero yo quiero GUARDAR ese total en un campo de la tabla VENTAS del formulario principal.

He intentado en el evento, AL CERRAR FORMULARIO poner este codigo:

Me. [Total_A_Pagar]=Me.Cuadro18

Donde [Total_A_Pagar] es el campo de la tabla y Cuadro18 es el campo calculado que contiene el total, pero me da error continuamente.

¿Que es lo que hago mal?

Mil gracias como siempre
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:GUARDAR VALOR AL SALIR

Publicado por smokalot (166 intervenciones) el 14/11/2007 15:24:58
Hola,

primer de todo, para que lo quieres guardar en la bbdd si es un campo calculado (no coneces las Formas Normales de bbdd ¿?) NUNCA se guarda un campo calculado ... o guardarias la edad de una persona?, no seria mejor guardar la fecha de nacimiento? poz con lo tuyo lo mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:GUARDAR VALOR AL SALIR

Publicado por Enrique (1299 intervenciones) el 14/11/2007 20:15:43
Hola Susana:
Ciertamente, como te dice smokalot, es una normal de programación NO guardar los campos calculados en una Tabla, ya que siempre podremos calcularlos en tiempo de ejecución cuando los necesitemos, pero tambien es cierto que a veces, las menos, podemos necesitar hacerlo y en estos casos lo normal sería mediante Recordset pero para no complicarte con código te explico un pequeño truquillo, poco profesional pero que te puede servir:

Supongamos que en Cuadro18 tienes esta fórmula en su Origen del Control:
=Suma([PVP * Cantidad]) por tanto tienes ocupado ese Origen del Control con el cálculo y no puedes conectarlo con su Tabla, pues bien, junto a este creas otro cuadro de texto de nombre, por ejemplo "Guardar" y en su propiedad "Origen del Control" pones el campo "Total_A_Pagar" de la Tabla para conectarlo con ella. Este nuevo campo "Guardar" lo pones Visible: No (para ocultarlo).

Luego en los Procedimientos de Evento "Después de actualizar" de Cantidad y de PVP le asignamos al campo`"Guardar" el valor que tenga el Cuadro18:

Private Sub Cantidad_AfterUpdate()
Me.Guardar = Me.Cuadro18
End Sub

Private Sub PVP_AfterUpdate()
Me.Guardar = Me.Cuadro18
End Sub

Ahora se guardará el campo calculado Cuadro18 en el Campo Total_A_Pagar de la Tabla.

Un saludo
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:GUARDAR VALOR AL SALIR

Publicado por susana0000 (3 intervenciones) el 16/11/2007 18:55:56
ahhh que buena idea, gracias enrique, siempre estas ahí para dar con la solución y sobretodo para explicarlo tan bien

un saludo y mil gracias

susana
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar