[RESUELTO] Obtener registro con fecha más reciente desde duplicados con fechas diferentes

Discute sobre las herramientas de la base de datos
Responder
Avatar de Usuario
articulo47
Mensajes: 65
Registrado: Dom Jun 30, 2013 5:48 pm

[RESUELTO] Obtener registro con fecha más reciente desde duplicados con fechas diferentes

Mensaje por articulo47 »

Saludos,

por motivos laborales, tengo que usar MS Access 2016 y llevo poco tiempo usándolo, aunque he realizado un par de cursos sobre Access.

Estoy preparando una base de datos, dónde el campo clave de una de las tablas será el DNI indexado sin duplicados.

El origen de los datos, es y será en sucesivas actualizaciones, un XLSX con algunos DNIs duplicados y debido a quienes usarán la base de datos, no se puede alterar el XLSX.

En Access:
  • Importo el XLSX vinculándolo.
  • Realizo consulta de la importación para reorganizar campos.
  • Creo una tabla (TDNI) a partir de la consulta, donde tengo todos los registros originales con el DNI como primer campo, pero con duplicados.
  • Mediante una consulta me muestra los registros duplicados, y a partir de esta creo la tabla TDNIDUPLICADOS.
  • Mediante una consulta de no coincidentes entre las tablas TDNI y TDNIDUPLICADOS, obtengo los DNI únicos de TDNI, y a partir de esta creo TDNIUNICOS.
En este punto tenemos las siguientes tablas:
  • Importada
  • TDNI
  • TDNIDUPLICADOS
  • TDNIUNICOS
Para la duda que os presento, debemos de tener en cuenta sólo dos campos de la TDNIDUPLICADOS:

| DNI |Fecha valoración|
|99999999Z| 12/09/2024|
|99999999Z| 01/05/2023|
|00000000Z| 10/10/2024|
|00000000Z| 01/09/2023|

Ahora necesito de la tabla TDNIDUPLICADOS, obtener de los DNIs duplicados, aquellos con la fecha de valoración más reciente descartando el resto de duplicados, y dichos registros únicos los anexaré a la TDNIUNICOS y desde esta crearé TDNI reemplazando la anterior que sólo contendrá DNIs únicos. Esta parte, es la que no logo hacer, he buscado info de casos similares online, pero no he localizado algo que me permita llegar al resultado que necesito obtener.

Una vez logrado lo anterior, en sucesivas actualizaciones del XLSX, crearé el mismo sistema en paralelo, para que de lugar, al final, a una tabla TDNI2 con DNIs únicos, y entre TDNI y TDNI2 mediante consulta de no coincidentes obtendré los registros únicos de DNIs actualizados. Con una consulta a partir de la consulta anterior, crearé una tabla TDNINUEVOS, y mediante una consulta anexar, añadiré los registros de esta última tabla a TDNI, y de ese modo, iré actualizando y ampliando los registros de DNIs únicos a la base de datos.

Si alguien conoce alguna forma, de obtener el registro duplicado con la fecha de valoración mas reciente en MS Access mediante diseño de consultas, con criterios/expresiones o mediante SQL, y le apetece compartirlo, sería estupendo. Mientras seguiré buscando y probando cosas.

Gracias de antemano.
Última edición por articulo47 el Jue Nov 07, 2024 9:57 pm, editado 1 vez en total.
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
FJCC-ES
Mensajes: 901
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Obtener registro con fecha más reciente desde duplicados con fechas diferentes

Mensaje por FJCC-ES »

Nunca he usado Access y no entiendo todo lo que hace con sus datos. Pero... si tengo una tabla con tres columnas, la clave primaria, DNI, y Fecha, y quiero encontrar las filas con la fecha más reciente de cada DNI, puedo hacerlo sin separar los DNI únicos y los duplicados. En la imagen, puede ver la tabla completa y la consulta con sus resultados.
Adjuntos
Consulta.PNG
Consulta.PNG (75.81 KiB) Visto 184 veces
Avatar de Usuario
articulo47
Mensajes: 65
Registrado: Dom Jun 30, 2013 5:48 pm

Re: Obtener registro con fecha más reciente desde duplicados con fechas diferentes

Mensaje por articulo47 »

Hola FJCC-ES, la consulta SQL que me has mostrado hace lo que necesito, muchas gracias.
LibreOffice 7.5.8.2
macOS Catalina v10.15.7
Responder