** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Consulta mostrar un solo registro (si duplicado)
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoConsulta mostrar un solo registro (si duplicado)

 Responder Responder
Autor
Mensaje
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 683
Enlace directo a este mensaje Tema: Consulta mostrar un solo registro (si duplicado)
    Enviado: 08/Febrero/2024 a las 16:35
Hola y buenas tardes.
Tengo una tabla con datos y uno de ellos se repite.
Hago una consulta para volcar algunos esos datos en un formulario. A la consulta le pongo la condición a ese campo, que se puede repetir, de que tenga valor (is not null), pero cómo puedo hacer para que sólo me muestre uno.
Me es indiferente cuál pues los demás datos que saco en la consulta son iguales.
Gracias por adelantado.
Arriba
javier.mil Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Agosto/2005
Localización: España
Estado: Sin conexión
Puntos: 4810
Enlace directo a este mensaje Enviado: 08/Febrero/2024 a las 17:30
Buenas

Mira la instrucción TOP

Ejemplo
SELECT TOP 1 * FROM Mitabla;

En este ejemplo solo mostrara el primer registro
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 683
Enlace directo a este mensaje Enviado: 08/Febrero/2024 a las 18:46
Con esa instrucción sólo memuestra un registro.
He probado ha realizar una consulta diciéndole que sea distinto y no nulos para el campo en el que quiero que se aplique:

SELECT DISTINCT TRegO.IdOperador FROM TRegO WHERE (((TRegO.IdOperador) Is Not Null));

Así me muestra 105 registros.
Con los NO distintos serían 116
Si incluyo los que tienen este campo vacío son 180 registros, que es el total.

Ahora hago otra consulta sobre la consulta anterior y la tabla que contiene los datos.
Si le incluyo el campo CIF, me sigue mostrando 105 registros; pero si le incluyo el campo nombre, me salen 107 registros y es porque hay dos registros que tienen el campo nombre no iguel (una coma, un espacio,...).
Supongo que el DISTINCT mira en todos los campos que incluyas y yo sólo quiero que se aplique al primer campo "IdOperador", pero no lo consigo.
Si le meto más campos como dirección municipio, y otros en los que hay diferencias, se me va a los 116 registros que son todos los que tienen datos en el campo IdOperador.

No doy con la tecla. Alguna sugerencia?




Editado por maserrano - 08/Febrero/2024 a las 19:20
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 683
Enlace directo a este mensaje Enviado: 08/Febrero/2024 a las 23:10
He intentado hacer una subconsulta dentro de la consulta pero no me da resultado.  Me dice que sólo mostrará un registro y, de hecho, ni lo muestra.
Se podría hacer por VBA?
No sé ni cómo se plantearía, por si me dan alguna idea..  Graciaaas
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1506
Enlace directo a este mensaje Enviado: 08/Febrero/2024 a las 23:17
Prueba con una consulta de totales. Por ejemplo, teniendo esta tabla:

TablaMaserrano
CampoRepe CampoBlancos
Pepe Dos
Juan Uno
Juan
Juan Tres
Pepe
Alberto
Ana Uno
Ana Dos
Ana Tres
María
María Dos
María
Isabel
Isabel
Pepe Uno

Esta consulta:
SELECT First(TablaMaserrano.CampoRepe) AS PrimeroDeCampoRepe, First(TablaMaserrano.CampoBlancos) AS PrimeroDeCampoBlancos
FROM TablaMaserrano
WHERE ((Not (TablaMaserrano.CampoBlancos) Is Null))
GROUP BY TablaMaserrano.CampoRepe;

Devuelve esto:

ConsultaDistintos
PrimeroDeCampoRepe PrimeroDeCampoBlancos
Ana Uno
Juan Uno
María Dos
Pepe Dos

Nota: El First de la consulta devolverá el primer registro que quiera Access, no el primero de un orden. Pero como has dicho que eso no importa...


Editado por pitxiku - 08/Febrero/2024 a las 23:18
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 683
Enlace directo a este mensaje Enviado: 09/Febrero/2024 a las 09:49
Muy buenas a todos
Muchas gracias pitxiku
Es la consulta que quería y con todos los campos. Salen los registros que deben salir. Genial, de verdad.
Por mi parte se puede cerrar el hilo.


Editado por maserrano - 09/Febrero/2024 a las 09:50
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable