Access - Actualización campo fecha

 
Vista:

Actualización campo fecha

Publicado por pil (12 intervenciones) el 03/10/2015 00:44:12
Estimados, para el desarrollo de mi sistema de presupuestación necesito actualizar la fecha en que se modificó un registro. Específicamente tengo una tabla con la información de los productos denominada tb_producto. Entre otros campos, contiene el campo [fecha_actualizacion]. Necesito que cada vez que se modifique una característica del producto (por ejemplo el precio almacenado en el campo [precio]) se actualice [fecha_actualizacion] a la fecha actual.
Cuando ingreso un nuevo registro no tengo problemas, ya que tengo definido [fecha_actualizacion]=Ahora() en el formulario. Pero esto no funciona cuando actualizo un registro existente.
De antemano, muchas gracias por cualquier aporte que me pueda orientar.
Saludos
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
sin imagen de perfil

Actualización campo fecha

Publicado por Enrique Heliodoro (1664 intervenciones) el 03/10/2015 15:25:02
Una simple 'consulta de actualización' que se puede crear de forma sencilla con el generador de consultas y (ya después) utilizar acudiendo a ella o bien tomando su SQL y ejecutándola a voluntad (algo que depende del dominio del programador que lo aplique).
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

Actualización campo fecha

Publicado por pil (12 intervenciones) el 04/10/2015 16:52:05
Estimado, gracias por tu respuesta, pero lo que necesito saber es cómo agrego una condición al UPDATE para que sólo actualice la fecha del registro que se actualizará. Este registro no tiene ningún valor que lo identifique en forma única salvo el id, pero no sé cómo obtener el id de éste. Quedo a la espera de tus comentarios. Saludos
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
sin imagen de perfil

Actualización campo fecha

Publicado por Enrique Heliodoro (1664 intervenciones) el 04/10/2015 21:38:36
El entorno de trabajo es desconocido, asi que las respuestas solo podrán ser pistas (lo único real es lo que estas creando y solo tu conoces).

En líneas generales creo que no utilizais las herramientas (gratuitas y amables) que teneis a disposición y al generador de consultas me refiero.

Trabaja 'en modo grafico' con lo que no se necesita 'nivel' para entenderlo y utilizarlo, solo se precisa un minimo de curiosidad y como no de necesidad (que al parecer es lo único que podría llevar a solventar el obstáculo).

Paso uno:
.- Crear una consulta de selección que nos devuelva el registro de nuestro interés (es sencilla y 'el ID' que condicione será el que este en ese formulario)
.- Para definir a ese referente (el ID del formulario) hay una poderosa herramienta ==> El 'generador de expresiones' (sale con los tres puntitos o con el botón derecho del ratón alias: 'menú contextual')

Paso 2:
Supongamos que tras dar un par de rodeos, hemos construido esa consulta de selección que nos devuelve el registro activo del formulario....

Se modifica la consulta de selección a una consulta de actualización (¿Un click?), le indicamos que tabla se ha de actualizar (¿otro click?) y en la nueva línea que aparece (su título: Actualizar a:) y bajo el campo (o campos) a modificar .... los correspondientes valores (en una consulta la fecha actual: Date() ).

Se guarda y se la llama o bien se copia la SQL (la crea Access y se llega a ella si estando en la vista diseño le indicamos que queremos verla en su 'vista SQL')
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

Actualización campo fecha

Publicado por pil (12 intervenciones) el 04/10/2015 23:21:27
Estimado, algo no estoy entendiendo, ya que el SQL que me genera actualiza el campo [fecha_actualizacion] de todos los registros.
Para simplificar las cosas y ver si puedo solucionarlo supongamos que la tabla tb_producto sólo tiene los [id_producto], [precio] y [fecha_actualizacion]. El SQL que genero siguiendo lo que entiendo de tus consejos es

UPDATE tb_producto SET tb_producto.fecha_actualizacion = Now();

el que claramente no sirve, ya que falta la clausula Where que indica cual es el registro que deseo actualizar.

Te agradeceré tus nuevos comentarios y paciencia. Saludos
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
sin imagen de perfil

Actualización campo fecha

Publicado por Enrique Heliodoro (1664 intervenciones) el 05/10/2015 11:11:56
Tienes que aplicar el paso dos o no seleccionaras el registro adecuado.

Con la consulta de SELECCION en modo diseño, bajo el campo que define al ID y donde se cruce con la línea que se titula: 'CRITERIOS' un click en el botón derecho del ratón (configurado para diestros) y se abrirá el 'menú contextual'.

En ese 'menú contextual' se selecciona 'generador de expresiones' que puede aparecer con el titulo de 'GENERAR' y un icono similar a la varita de un mago.

Se abre una ventana que representa a los objetos de la base de datos y se 'navega en ella' como se haría con el explorador de Windows (al que imita) si, ese que 'sale' cuando se desea ver el contenido de disco (por ejemplo el 'C:').

Navegando y navegando se alcanza el objetivo, el formulario y en el, el cuadro de texto con el valor de ID que es el referente a actualizar, se acepta y en la ventana de resultados (suele estar ubicada arriba) aparece la ruta absoluta del objeto, algo como 'Formularios![nombre del formulario]![nombre del cuadro de texto]' ....

Se acepta y ese texto aparecerá bajo el campo de la consulta y en la línea 'Criterios' desde donde se 'llamo' al generador

La ejecutar la consulta (con el formulario abierto y en un registro concreto) aparecerá ese único registro (que se debería corresponder con el activo del formulario), si no es así .... algo no se hizo de la forma correcta, a comenzar desde cero, porque si 'aprendes' a utilizar el generador de expresiones (que no cambio un ápice desde la versión 1.0 de Access) jamás volverás a preguntar como se define a un objeto (y eso es un porcentaje muy alto del dominio de Access, ubicar los elementos), ya con la practica y un mínimo de interés, aprenderás a definirlos sin el asistente, pero ahí estará para las dudas.

¿Ya se ha logrado éxito con la consulta? ....
Se le quita la marca al campo con el ID (seguimos hablando de la consulta) de forma que solo MUESTRE el campo con el valor a modificar (si, el de fecha) utilizamos DOS campos, el de fecha y el del ID, pero solo mostramos el que deseamos (o los que deseamos) modificar, el otro estará oculto y será utilizado como condición.

Se cambia el tipo de consulta a una de ACTUALIZACION, se le asigna el nuevo valor (que puede ser uno fijo o uno calculado o uno aleatorio ... el que sea adecuado) en la línea 'Actualizar a:' y ... cuando se lance la consulta hará lo que tiene que hacer.

¿Cómo llamarla? ... pues con una Macro que puede hacer 'algo mas' tal como ocultar el mensaje de advertencia que es muy probable que aparezca (y que simpático una vez, se vuelve odioso cuando se reitera).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Actualización campo fecha

Publicado por pil (12 intervenciones) el 07/10/2015 04:51:06
Estimado, todo funcionó muy bien. Muchas gracias por los aportes y la paciencia. He aprendido mucho con tus sugerencias. Saludos
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