¿Cómo puedo obtener el último registro en una consulta a la base de datos en access 2003?

Estoy realizando una base de datos en ACCESS 2003 compuesta por varias tablas todas relacionadas por el ID. Dentro de una tabla, puedo tener varias entradas diferentes (acciones sucedidas en diferentes fecha) para cada ID, Al realizar una consulta, necesito que me de solo los últimos registros de cada ID es decir la última actividad realizada en la última fecha. ¿Cómo puedo hacer eso?

2 respuestas

Respuesta
2
Supongamos que los campos se llaman Id, FXEntrada y Actividad.
Primero creas una consulta de agrupación, es decir bajas los campos Id y FxEntrada y creas la consulta de agrupación (pulsas en el cuadrado de totales, el del símbolo del sumatorio) y pones en el Id: agrupar por y en el campo FxEntrada: Máx. Guardas esta consulta con un nombre por ejemplo CalculoMax. Después te creas otra consulta y bajas la tabla y la consulta CalculoMax (las consultas de selección actúan exactamente igual que las tablas) estas dos tablas las vinculas por el campo Id y los campos FxEntrada y MaxdeFxEntrada. Bajas los campos que quieras visualizar y... terminado.
Me cuentas.
No se que sigo haciendo mal, hice lo que me comentaste, en el diseño de la consulta puse agrupar por: max en la fecha a fin de que me diera la última fecha, sin embargo sigue dándome todos los datos
Te comento un poco más de que va la base de datos a ver si logras ayudarme mejor
Es una base de datos de una consulta medica, hay muchas tablas tales como tratamiento, exámenes de laboratorio, examen físico, etc, etc cada paciente tiene un ID y en cada tabla un paciente tiene varias entradas pues cada consulta es una nueva entrada, lo que estoy necesitando es hacer una consulta en el que me de los últimos datos introducidos de ese paciente en cada tabla a fin de hacer un cuadro resumen de las consultas
También necesito que me de por ejemplo los últimos tratamientos recibidos por cada paciente, el problema es que no logro que la consulta me de solo los últimos ingresos de datos, y me da todos los datos de cada paciente
Saludos y gracias por toda tu ayuda
Tatiana
El tema es más complejo de lo que pensaba en un principio, dame un tiempecillo que estoy pensando la forma más fácil de solucionarlo.
Supongamos 3 tablas: Pacientes (IdPaciente, Nombre), Tratamientos (IdPaciente, Tratamiento, Fecha) y Visitas (IdPaciente, Visita, Fecha)
La sql sería:
SELECT TOP 1 Pacientes.IdPaciente, Pacientes.Nombre, Tratamientos.Fecha, Tratamientos.Tratamiento, Visitas.Fecha, Visitas.Visita
FROM (Pacientes LEFT JOIN Tratamientos ON Pacientes.IdPaciente = Tratamientos.IdPaciente) LEFT JOIN Visitas ON Pacientes.IdPaciente = Visitas.IdPaciente
WHERE (((Pacientes.IdPaciente)=[Introducir Id Paciente]))
ORDER BY Pacientes.IdPaciente, Tratamientos.Fecha DESC , Visitas.Fecha DESC;
Me cuentas.
Respuesta

Muchas Gracias por tu ayuda me sirvió de mucho

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas