Access - Consulta para contar numero de registros evitando los repetidos

 
Vista:

Consulta para contar numero de registros evitando los repetidos

Publicado por Miguel (6 intervenciones) el 28/05/2013 13:43:40
Buenas, tengo una base de datos donde tengo una serie de registros que tienen el mismo "Titulo" pero con una coletilla Lote1, Lote2, Lote3...
Quiero hacer una consulta que me calcule los registros totales pero que cuente como 1 solo registro los que vayan por lote y la verdad es que estoy muy perdido.

Alguno me puede echar una mano?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Consulta para contar numero de registros evitando los repetidos

Publicado por Norberto (753 intervenciones) el 28/05/2013 13:59:19
Hola.

Se podría hacer un subforo con esta pregunta sobre la que hay infinidad de respuestas ya publicadas (http://www.lawebdelprogramador.com/foros/buscar.php?opc=1&id=1&charSearch=duplicados&x=0&y=0). En fin:

Consulta de selección. Un campo sobre el que contar. Uno o más campos sobre los que agrupar (en tu caso Título). Activar Totales. Cambiar el valor Total:del primer campo a Contar y mantener el/los otros en Agrupar por. Si quieres que algún otro campo aparezca pero no divida en grupos, hay que indicar Total: Primero, Último, Máx o Mín.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta para contar numero de registros evitando los repetidos

Publicado por jose (830 intervenciones) el 28/05/2013 20:30:26
se puede usar la consulta SELECT DISTINCT ..........

Y sino hacer lo que te dice norberto hacer una consulta de totales agrupando por el campo que n o quieras que se repita
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta para contar numero de registros evitando los repetidos

Publicado por Miguel (6 intervenciones) el 29/05/2013 13:32:15
No controlo mucho del tema, pero creo que lo que dice norberto no funcionaria, puesto que todos los titulos son distintos

comprax.Lote1
comprax.Lote2
comprax.Lote3
compray
compraz
compraa.Lote1
compraa.Lote2

Creo que si agrupo y hago totales saldrian 7 compras, no 3 no?

sobre el select distinct voy a ver que encuentro por que no tengo ni idea de como hacerlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta para contar numero de registros evitando los repetidos

Publicado por Miguel (6 intervenciones) el 04/06/2013 16:02:57
Sigo sin dar con la solución, ¿alguna idea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Consulta para contar numero de registros evitando los repetidos

Publicado por Norberto (753 intervenciones) el 06/06/2013 13:08:36
Hola de nuevo.

Veo que el problema está en que no deseas agrupar por un campo sino por parte de él. Es decir por lo que que hay antes del .LoteX si lo hubiere. El método es el mismo sólo que en vez de agrupar por el campo lo haremos por el principio. Si todos tuvieran lote sería así:

Título: Left(Campo; InStr(1; Campo; ".Lote") -1)

Como puede que no lo lleven pues así:

Título: Left(Campo; InStr(1; Campo & ".Lote"; ".Lote") -1)

He puesto los nombres de las funciones en inglés por costumbre pero Access te las traducirá en la vista de diseño de la consulta.

A partir de ahí o consulta de valores únicos o con totales.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta para contar numero de registros evitando los repetidos

Publicado por pladivar (2 intervenciones) el 04/09/2015 22:37:37
Buenas,

Tengo entendido que en el Access no funciona con DISTINCT, lo intenté por todos los modos, pues tenía también este inconveniente y lo pude solucionar de la siguiente manera:

1. CREAR UNA CONSULTA DE REGISTROS AGRUPADOS AL CAMPO QUE SE DESEA CONTAR, INCLUYENDO OTROS CAMPOS DE LA MISMA TABLA

SELECT
A.Año, A.Trimestre, A.Empresa, A.Regional, A.Prestador, A.CodigoHabilitacion
FROM A
WHERE (((A.Año)="2015"))
GROUP BY A.Año, A.Trimestre, A.Empresa, A.Regional, A.Prestador, A.CodigoHabilitacion;


2. LANZAR UNA NUEVA CONSULTA AGRUPADA A LA CONSULTA QUE SE ACABA DE CREAR EN EL PUNTO 1, CONTAR LOS REGISTROS POR CUALQUIERA DE LOS OTROS CAMPOS AGREGADOS 1 Y LISTO TIENE SUS REGISTROS ÚNICOS.

SELECT Consulta1.Año, Consulta1.Trimestre, Consulta1.Empresa, Consulta1.Regional, Consulta1.Prestador, Count(Consulta1.Empresa) AS [TOTAL REG]
FROM Consulta1
GROUP BY Consulta1.Año, Consulta1.Trimestre, Consulta1.Empresa, Consulta1.Regional, Consulta1.Prestador;


Como pueden ver en la consulta el conteo lo puedo hacer por cualquier campo de la consulta1

Espero sea de su ayuda.


Quedo atento a sus comentarios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Consulta para contar numero de registros evitando los repetidos

Publicado por Enrique Heliodoro (1664 intervenciones) el 05/09/2015 10:04:26
Access interpreta a DISTINCT, la diferencia puede estar en lo que interpretan el usuario y la aplicación como tal concepto.

Quizás un diseño de la tabla mas acorde con las necesidades reales evita ese tipo de problemas, por ejemplo iniciándose en el concepto 'grupo' o 'familias' para que se puede conceptuar como iguales a elementos similares (Zapato.Lote1 = Zapato.Lote2 = Zapato.Lote3 ....) o la alternativa de generara ese subconjunto en base a tomar parte de la descripción (solo hasta el punto con lo que lo anterior quedaría como: Zapato = Zapato = Zapato .....)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar