Para Access, puede usar la consulta SQL Select que presento aquí:
Por ejemplo, tienes esta tabla:
CLIENTE || NOMBRES || CORREO
888 || T800 ARNOLD || t800.arnold@cyberdyne.com
123 || JOHN CONNOR || s.connor@skynet.com
125 || SARAH CONNOR ||s.connor@skynet.com
Y solo debe seleccionar correos distintos. Puedes hacerlo con esto:
SQL SELECT:
SELECT MAX(p.CLIENTE) AS ID_CLIENTE
, (SELECT TOP 1 x.NOMBRES
FROM Rep_Pre_Ene_MUESTRA AS x
WHERE x.MAIL=p.MAIL
AND x.CLIENTE=(SELECT MAX(l.CLIENTE) FROM Rep_Pre_Ene_MUESTRA AS l WHERE x.MAIL=l.MAIL)) AS NOMBRE,
p.MAIL
FROM Rep_Pre_Ene_MUESTRA AS p
GROUP BY p.MAIL;
Puede usar esto para seleccionar la ID máxima, el nombre correspondiente a esa ID máxima, puede agregar cualquier otro atributo de esa manera. Luego, al final, coloca la columna distinta para filtrar y solo la agrupa con esa última columna distinta.
Esto le proporcionará la ID máxima con los datos correspondientes, puede usar min o cualquier otra función y replica esa función en las subconsultas.
Esta selección devolverá:
CLIENTE || NOMBRES || CORREO
888 || T800 ARNOLD || t800.arnold@cyberdyne.com
125 || SARAH CONNOR ||s.connor@skynet.com
Recuerde indexar las columnas que seleccione y la columna distinta no debe tener datos numéricos en mayúsculas o minúsculas, de lo contrario no funcionará. Esto también funcionará con un solo correo registrado. Feliz codificación !!!