Visualizar ultimo registro de un cliente sin dupli

¿Cómo puedo ver el último registro de un cliente en un informe? ¿Y cómo puedo listar sin que me duplique los datos en un informe?
Es decir, yo en un formulario introduzco el peso de cada jugador y la fecha de pesado. Por ejemplo:
Registro 1 manolo el día 01/01/2010  pesa 80 kg.
Registro 2 manolo el día 05/03/2010 pesa 85 kg.
Registro 3 pepito el día 15/02/2010 pesa 70 kg.
¿Qué instrucción tengo que poner en el informe nº1 para saber el último peso de manolo?
Y si quiero saber los jugadores que tengo pesados, ¿qué instrucción tengo que poner en el informe nº2 para que me liste como resultado manolo y pepito solamente? Porque ahora cuando listo me sale 2 veces manolo y una pepito.

1 respuesta

Respuesta
1
En lugar de coger los datos de la tabla directamente create una consulta con los campos que quieras ver, y en sus propiedades pone valores y registros únicos.
Para ver el ultimo puedes hacer 2 cosas.
Ordenar de manera descendente o en la consulta crear criterios para eso
¿Y cómo se ponen registros únicos?
Si ordeno de manera descendente, también me saldría 2 veces. ¿Qué tengo que poner en criterio?
Gracias
En la consulta, propiedades, hay un apartado donde le puedes decir que te ponga registros únicos
Perdona que sea tan torpe, pero no encuentro ninguna opción donde poner registro único.
En propiedades de la consulta sale como opciones Descripción, Formato, Decimales, Mascara, ¿Titulo y etiquetas inteligentes?
¿Y qué pongo en criterio?
Gracias otra vez
En criterio nada. Si en el modo diseño de la consulta, le ads con el botón derecho en la zona de color gris (en donde no haya nada) y seleccionas propiedades en el menu desplegable que salga, veras lo de los registros y valores únicos puestos en "NO"
OK. Lo he puesto pero me sigue saliendo todos los pesos de una misma persona y yo lo que quiero que me salga es el ultimo peso.
Ademas cuando pongo en registros únicos SI, automáticamente me pone en valores unos NO y viceversa.
Vale, lo ultimo que te queda es en el criterio de registro poner Máx([registro])
Así solo te muestra el ultimo
Me pone que no puede haber una una función de agregado en la clausula WHERE ([PesosyTallas]. PESO=Max([PESO])?
Es máx, con acento. Y pon el criterio en fecha mejor
Máx([<nombre_del_campo_fecha>])
Me pone lo mismo, que no puede haber una una función de agregado en la clausula WHERE ([PesosyTallas]. FECHA=Máx([FECHA])?
Ok, fallo mio, no recordaba que estábamos en consulta. Pon esto en criterios
DMáx("[<nombre del campo fecha>]";"<nombre de la tabla donde esta el campo>")
Perfecto, ya me sale el último peso del jugador.
¿Pero ahora no me salen los demás jugadores?
Hm, ok
Crearemos un mensaje emergente que te pregunte el nombre del jugador, modificamos la DMáx de fecha
DMáx("[<nombre del campo fecha>]";"<nombre de la tabla donde esta el campo>";[<campo nombre jugador>]=[Introduce el nombre del jugador])
Fíjate bien que solo debes modificar los apartados entre <>, de esta manera nos saldrá un emergente preguntando Introduce el nombre del jugador
¿Solamente me sale cuando pongo manolo pero pongo pepito y no sale? Ademas me gustaría que me salieran todos los jugadores con el ultimo peso y no tener que introducirle el nombre del jugador, ¿puede ser?
Gracias
Para eso es mejor crear un formulario.
Creas un formulario que te apunte a esta consulta que hemos creado.
En ese formulario le pones un cuadro combinado o una lista que cuyo contenido sea todos los nombres de todos los jugadores. (Para hacer eso solo tienes que hacer una consulta de los nombres de los jugadores con valores únicos, es decir sin repetición)
Finalmente una vez hecho eso, haces que el condicional de DMáx en lugar de ser [<campo nombre jugador>]=[Introduce el nombre del jugador], lo cambias a [<campo nombre jugador>]=Formularios![<nombre del formulario>]![<nombre del cuadro combinado>]
Así la consulta ya no preguntará sino que cojera el valor del cuadro combinado.
Y solo te quedará actualizar el formulario cada vez que se modifique el valor del cuadro combinado haciendo una macro en el procedimiento del evento "al cambiar" que ejecute el comando Actualizar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas