Hacer que un campo alamacene operaciones con otros campos en access 2007

Tengo una tabla con los campos SALARIO BRUTO, SEG SOCIAL, DESCUENTO Y ANTICIPOOS y otro cmpo que el LIQUIDOAPERCIBIR

Este campo debe almacenar la operación SALARIOBRUITO-SEGSOCIAL-DESCUENTOS.-Anticipos.

He creado un formulario donde he puesto un campo de tezxto que realiza la operación al entrar los datos, pero no se como hacer que ese valor del TEXTO23 lo almacene en el campo LIQUIDOAPERCIBIR

2 respuestas

Respuesta
2

Este ejemplo de Neckkito:

http://siliconproject.com.ar/neckkito/index.php/component/content/article/93-ejemplos-explicados/ejemplos-de-formularios/160-guardar-campo-calculado-en-tabla 

En él lo tienes explicado paso a paso.

Un saludo.


Gracias por la respuesta Sven pero la verdad el manual todo y ser muy completo no he sido capaz de solucionar el tema, entiendo que debo introducir algún evento en "al actualizar", pero no consigo que me funcione.

Sigo probando.

Gracias

A ver, si a tu campo calculado (Texto23) le tienes puesta la operación, lo único que has de hacer es poner en el evento "después de actualizar" de los campos SALARIO BRUTO, SEG SOCIAL, DESCUENTO Y ANTICIPOS un código idéntico a los de la página 3 del ejemplo, adaptándolo a los nombres de tus campos.

¡Gracias! Voy a probarlo

Disculpa mi torpeza, así es como lo he hecho, pero no me almacena el valor

Gracias y disculpa de nuevo

Me parece muy bien, pero ese código no es el del ejemplo al que te remito... XD, y normal que no te lo guarde, porque esa sintaxis no sería correcta para ejecutar un consulta de actualización...

¿Se podría corregir este código para que guardase?

Sí, de esta forma:

DoCmd. RunCommand acCmdRecordsSaveRecord
CurrentDb.Execute " UPDATE NOMINAS SET LIQUIDOAPERCIBIR=" & Replace(Me.Texto23,",",".") & " WHERE IdCodNominas=" & Me.IdCodNominas

Pero ojo, si no metes los datos necesarios para el cálculo en orden, no te pasará el valor correcto.

Un saludo.


Respuesta
2

Supongamos que el formulario tiene un cuadro de texto que identifique a ese registro en particular, por ejemplo, Idcliente, Numfactura, etc, y si los cáculos los haces antes de que el cursor llegue al cuadro de texto.

En las propiedades del cuadro de texto23, en el evento Al recibir el enfoque puedes poner

Docmd.runsql"update nombretabla set liquidoapercibir=foms!nombredelformulario!texto23"

En caso de que los cálculos los haga cuando el cursor está en él, ponlo en el evento Después de actualizar

Gracias por tu respuesta, no obstante me da un error en la siutuacion de las comillas, sigo probando.

Gracias

He modificado las comillas, no me da error, pero sigue sin funcionar, lo siento

Me parece que al escribir cometí un error de teclado no es foms es forms

¡Gracias!  lo probare

Vamos a poner nombres a todo. Supongamos que la tabla se llama Empleados y tiene Idempleado, Nombre, salarioBruto, etc

Supongamos también que el formulario se llama Empleados y que en un registro es donde pones los datos. En el evento Después de actualizar del cuadro de texto23( es decir, que después de que el foco esté en él, te aparezcan los cálculos y pulses enter)

docmd.runsql"update empleados set liquidoapercibir=forms!empleados.texto23 where idempleado=forms!emplado!idempleado"

De todas formas. S quieres, repito, si quieres, mándame un mensaje( no base) a [email protected] y te mando un par de ejemplos. Si lo haces, en el asunto del mensaje pon tu alias G71224 ya que si no sé quien me escribe ni los abro.

Te acabo de mandar un mensaje pero me viene devuelto, si puedes confírmame el mail: mailto:[email protected]

Confirmado. Me extraña porque de Todoexpertos recibo mensajes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas