Como puedo hacer una consulta en access 2010 que busque solamente los registros triplicados?

Tengo una base de datos donde ficha el personal y hay veces que fichan dos y tres veces al entrar y al salir también. Luego cuando calculo las horas tengo que estar eliminando registros duplicados y triplicados.

Hacer una consulta con registro duplicados se hacerla pero no me vale porque siempre hay duplicados (al entrar y al salir).

Me gustaría saber como hacer una consulta con registros triplicados.

1 Respuesta

Respuesta
1

¿Por qué dices que la consulta de datos duplicados no te sirve?

La Consulta de duplicados que te genera el asistente de access te devuelve los que buscas, es decir, los registros que tienes uno o más campos repetidos (lo que le indiques), y te mostrará los "x" registros que haya, ya sean 2, 3 o 50.

No me vale porque 2 repeticiones tienen todos, al entrar y al salir y lo que necesito que me muestre los que tienen 3 o más y eso es porque han fichado 2 o más veces al entrar o al salir.

No sé como tienes tu tabla, pero lo normal es que tengas un campo para el trabajador y otro para indicar si es una entrada o una salida. Si es así, al crear la consulta con el asistente, indícale que te busque los duplicados de los dos campos.

Otra cosa que puedes hacer, es crear la consulta con el asistente, la abres en vista diseño, y verás que en el campo que buscas los duplicados, en la fila de criterios verás algo como esto:

In (SELECT [NombreCampo] FROM [NombreTabla] As Tmp GROUP BY [NombreCampo] HAVING Count(*)>1 )

Si le cambias el >1 por un >2, sólo mostrará los que tengan más de dos repeticiones.

muchas gracia por la rapidez

pero no me funciona .....

creo que lo estoy enfocando mal

tengo una tabla para fichar con

id    fecha   hora

y cuando fichan 

id       fecha            hora

001    18/08/2014     7:53     esto seria entrada

001    18/08/2014     19:02    esto seria salida

003    18/08/2014     7:54     esto seria entrada

003    18/08/2014     19:01    esto seria salida

004    18/08/2014     7:55     esto seria entrada

004    18/08/2014     19:05    esto seria salida

pero la gran mayoría de las veces hay

d       fecha              hora

001    18/08/2014     7:53 

001    18/08/2014     7:54      estos registros son los que quiero eliminar

001    18/08/2014     19:02 

003    18/08/2014     7:53 

003    18/08/2014     19:02 

003    18/08/2014     19:03   estos registros son los que quiero eliminar

004    18/08/2014     7:53

004    18/08/2014     19:02

creo que está mejor explicado.

Haz esto:

1º/ Menú Crear->Asistente para consultas

2º/ Selecciona la opción Asistente para búsqueda de duplicados y Siguiente

3º/ Selecciona tu tabla y Siguiente

4º/ Pasa los campos Id y Fecha a la parte de "Campos con valores duplicados" y Siguiente

5º/ Pasa el campo Hora a "Campos de consulta adicional" y Siguiente

6º/ Selecciona la opción "Modificar diseño" y Finalizar

7º/ Se te abrirá la consulta en vista Diseño, y si te fijas, en el campo Id, en la fila de criterios, tienes algo como:

In (SELECT [Id] FROM [NombreTabla] As Tmp GROUP BY [Id],[Fecha] HAVING Count(*)>1 And [Fecha] = [NombreTabla].[Fecha])

En tu caso no tendrás lo que está en negrita, sino el nombre de tu tabla.

Lo único que tienes que hacer es cambiar donde pone HAVING Count(*)>1 por HAVING Count(*)>2

Te adjunto una BD para que lo veas: http://filebig.net/files/CuF5vW5mPt 

¡Gracias! 

Eso si que si.

yo no había puesto en el 4º/ paso el id y por eso no me funcionaba.

Mil gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas