Para o Access, você pode usar a consulta SQL Select que apresento aqui:
Por exemplo, você tem esta tabela:
CLIENTE || NOMBRES || ENVIAR
888 || T800 ARNOLD || t800.arnold@cyberdyne.com
123 || JOHN CONNOR || s.connor@skynet.com
125 || SARAH CONNOR ||s.connor@skynet.com
E você precisa selecionar apenas e-mails distintos. Você pode fazer isso com isso:
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;
Você pode usar isso para selecionar o ID máximo, o nome correspondente ao ID máximo, e pode adicionar qualquer outro atributo dessa maneira. Então, no final, você coloca a coluna distinta para filtrar e a agrupa apenas com a última coluna distinta.
Isso fornecerá o ID máximo com os dados correspondentes, você poderá usar min ou qualquer outra função e replicar essa função nas subconsultas.
Essa seleção retornará:
CLIENTE || NOMBRES || ENVIAR
888 || T800 ARNOLD || t800.arnold@cyberdyne.com
125 || SARAH CONNOR ||s.connor@skynet.com
Lembre-se de indexar as colunas selecionadas e a coluna distinta não deve ter dados numéricos, todos em maiúsculas ou minúsculas; caso contrário, não funcionará. Isso funcionará com apenas um correio registrado também. Feliz codificação !!!