¿Obtener el mayor de dos registros en una consulta de access?

Bien tengo una base en access y lo que quiero hacer es lo siguiente:

En la base hay múltiples registros iguales en los que solo cambia el semestre, ejemplo:

Id alumno1 4to semestre

Id alumno1 5to semestre

Ya tengo la consulta realizada pero me envía los dos datos y yo quiero que solo me envíe el ultimo semestre cursado, esto para regustrar datos correspondientes al mismo.

En resumen tengo un formulario para dar de baja al alumno pero requiero que al usuario solo le muestre el ultimo semestre cursado, es decir que si el alumno tiene 5 semestres cursados al momento de abrir el formulario que tiene como origen una consulta(que solo pide el id del alumno) me muestre en pantalla los datos del alumno correspondientes al ultimo semestre

2 respuestas

Respuesta
2

Puedes hacerlo de muchísimas formas, sólo habría que concretar como lo quieres.

Suponiendo que el formulario lo uses para otras cosas, yo pondría en algún evento, por ejemplo, en hacer clic de un botón

Form.RecordSource = "select * from Alumnos where id=dlast(""id"",""Alumnos"",""alumno='" & Me.alumno & "'"")"

Es decir, el origen de registros del formulario sea aquel de la tabla alumnos en que el id es el último del alumno que en ese momento esté en pantalla.

Si puedes concretar más, como diseño del formulario, para que lo usas, se podría opinar mejor.

No te entendí ja ja mi tabla de llama datos alumno el campo identificador es clave alumno y del que quiero que me muestre el mayor es de el semestre ejemplo:

Alumno pepe gomez con clave 1241150000 tiene dos registros uno en primer semestre y el otro en 2 semestre (el id es el mismo) entonces la consulta me pide el id y me genera lo siguiente

Lo que quiero es que la consulta me muestre no todos los registros con id 1241150000 si no más bien que me muestre el registro con id 1241150000 que tenga el semestre más alto(en este caso 2)

Desde ya gracias

Supongamos que la tabla Alumnos es como en la imagen

Si con ella hago un formulario para ir poniendo datos de cada semestre, o lo que sea tendría el de la imagen

Le añado el botón Ver último...

Y en sus propiedades-eventos-Al hacer clic le pongo

En vez de Id se podría poner ClaveAlumno, Alumno, o lo que sea que identifique a un registro.

Cuando abro el formulario, lógicamente se irá al primer registro

y en cuanto pulso el botón

Respuesta
1

Puedes subir una captura del resultado de tu consulta . para entender mejor

La función Dmax te trae el valo máximo

https://support.office.com/es-es/article/Funciones-DM%C3%ADn-DMin-y-DM%C3%A1x-DMax-f5c6de87-8752-4f29-ab4b-c554053d299f 

o.k. Mire el formulario tiene como origen una consulta que pide el id del alumno:

Al insertar el id del alumno, como existen dos registros de este me genera el siguiente resultado

LO QUE YO DESEO ES QUE SOLO ME MUESTRE EL QUE SEA MAYOR EN EL SEMESTRE ES DECIR:

Pero no se como hacerlo desde el diseño de la consulta.

Desde ya gracias.

El Dmax no te resultara así, por que solo se puede recuperar solo el máximo en un solo campo como si fuera total. Me puedes mostrar el codifo sql en una foto

De momento se me ocurre, que en donde estas poniendo el dmax que pidas el sementé en que cursa así saldrá solo 1 resultado como la ultima captura

En mi opinión yo lo haría mediante un formulario evaluando el id en un txtbox y con un combox el semestre y un botón buscar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas