Como puedo hacer para que access me guarde un historial cuando yo cambie un dato como un precio

Tengo una base de datos con productos con precio pero los precio cambian de vez en cuando pero quiero mantener un respaldo de los precio anteriores en la base de datos. ¿Cómo podría hacer eso?

2 Respuestas

Respuesta
1

Te recuerdo que hay mas de una manera de hacer todo esto, dicho lo anterior, tengo una tabla adicional que recibe el Id del producto, el valor del campo actual, el valor del campo nuevo, la fecha y hora del cambio que por defecto lo entrega el sistema "=Ahora()", esta tabla será la que contenga el histórico de los cambios, independiente del campo que varié, después en el formulario al momento de entrar al campo a modificar que ejecute una macro que contenga las consultas que crean el registro modificado y registran a la vez lo nuevo, si quieres te puedo enviar un ejemplo fácil de como hacerlo.

Si puedes me envías un ejemplo por favor

Mi correo es [email protected]

Te envié un correo con un pequeño ejemplo pero es un ejemplo pensando en respaldar cualquier campo que sea modificado de una tabla y solo ejemplifique el producto, al momento de entrar al campo "producto" del form, este crea un registro con lo antiguo (o actual) y al momento de salir o después de actualizar se actualiza el mismo registro pero esta vez te deja en un campo lo que actualizaste o lo nuevo, verificarlo mirando las tablas e ingresando en el campo producto del formulario, también te registra la fecha y la hora, el valor no esta hecho pero puedes copiar lo mismo, espero te sirva y no olvides de valorizar tu respuesta.

Respuesta
1

Como bien te dice Chalo hay muchas formas, todo depende de como "guardas" los precios. Si cuando recibes un producto lo guardas en la tabla Productos, ¿qué mejor historial que la propia tabla? Luego, por ejemplo, en el formulario Ventas, en el evento después de actualizar del control Producto, puedes poner

Precio=dlast("precio","productos","producto='" & me.producto & "'")

Y así siempre te pondrá el último precio que haya ingresado en la tabla Productos.

Luego cuando quieras ver la evolución del precio de ese producto, con una simple consulta llega.

En el caso de que quieras guardarlo en una tabla aparte llamada Precios, y los productos los guardas mediante un formulario, en el evento Después de actualizar del cuadro de texto Precio puedes poner

docmd.runsql"insert into Precios(Producto,precio,fecha)values('" & me.producto & "', '" & me. precio & "', date())"

Y más

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas