¿Cómo puedo actualizar el ultimo registro de mi base de datos?

Estoy haciendo una base de datos, en ella tengo varios formularios, de los cuales 5 son principales, en ellos tengo un botón que dice cerrar sesión.
Este botón lo que debe hacer es que ademas de cerrar al formulario, tiene que hacer alguna consulta de actualización, tengo que tomar algunos datos de una tabla de usuarios, entonces necesito actualizar el estado y la hora de cierre del usuario, pero no de todos, si no del ultimo registro que se ingreso a esa tabla de usuarios, tengo la siguiente consulta.
UPDATE  Historial_usuario  SET hora_cierre = Format(Now(),"h:m:s"), estado = 0
WHERE estado = 1;
Esa me actualiza todos los campos que tengan el estado 1, pero yo solo necesito que me actualice un solo registro que es el ultimo, que lo puedo obtener a través de una id que tiene la tabla.
¿Se puede hacer? Por que access no permite agregar a consultas de agregación a consultas update, ojala me den una respuesta.., que estés bien bye

1 respuesta

Respuesta
1
Yo creo que la respuesta la tienes casi completa..
Si de lógica cada usuario que entra y sale (cierra session) marca el registro como 1 o 0.. deberás tener siempre por usuario solo un registro en estado 1. osea session abierta.. con lo cual lo único que deberías hacer es agregar a esa consulta el id en el where..
No olvides valorar y cerrar la pregunta si la respuesta te parece correcta
Hola gracias por tu respuesta, la verdad intente agregar en el where la condición de que fuera el ultimo usuario, es decir, podrías hacerlo con max o bien ocn el last de la id pero no lo permite, pues access no puede combinar funciones de agregado con consultas de actualización.( Es la respuesta que me da access).
Lo otro tengo una tabla historial en donde están registrado el logeo de los usuarios, imaignate que hay 3 usuarios en estado 1, al cerrar sesión uno, la consulta update cambiara de estado a todos los que estén en uno y no al ultimo( debido a que esta base de datos es compartida en un disco y varios accederán a ella) entonces ahí entro en el conflicto.
En el primer caso no entiendo por que no te deja agregar el campo de id.. ¿ese campo no esta en la misma tabla? ¿Asumo qué id es el id del usuario correcto?
Le segundo yo creo que más bien lo que debes tener en un error en la arquitectura de la tabla.. la mayoría de sistemas manejan procesos de login similares por lo menos en concepto.
Yo como lo haría..
Creo una tabla de usuarios.. en esas tabla esta por ejemplo id, usuario y password.
Creo otra tabla en donde se registran los accesos del usuario.. cada vez que entra se hace un insert en esa tabla... colocando id_session que debería ser un autonumérico, id de usuario y hora... cuando se hace el insert.. haces un select de esa tabla sacando el id_session.. eso lo haces fácil.. por que tienes la fecha/hora y el usuario...
Y con eso.. cuando el usuario salga.. haces el update del estado de esa session en otro campo de fecha hora con el id_session...
Hola exactamente tengo una tabla de usuarios que tiene id, nombre_sesion, nombre, contraseña y 5 perfiles(que son casillas)
Tengo otra tabla historial de usuarios donde están los campos nombre, id, fecha ingreso, estado y fecha cierre.
Mediante un código visual en un formulario hago que la ingresar nombre_sesion y passowrd me genere un historial de ingreso del usuario, con l hora y el estado. Solo queda el campo libre hora de cierre.
Pensando bien he decidido tomar otra solución que es con código visual, pues esta pregunta la hice pensando en como lograr cerrar sesión mientras el usuario este logueado, pero tiene una deficiencia, si opr ejemplo otro usuario ingresara el ultimo usuario que ingreso no seria por ejemplo yo si no otro y al cerrar sesión mía actualizo el ultimo de la tabla del historial, creo que para este caso hay que trabajar con una variable que guarde de la textbox de usuario el nombre_Sesion y usarlo en una consulta de selección para obtener el nombre del usuario, luego implemento un textbox que me muestre el resultado de la consulta y al cerrar sesión solo tengo que obtener el usuario de la textbox y me la ubicara altiro en la tabla para actualizar la fecha de cierre.
Gracias de todas maneras por ayudar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas