Como evitar Traslape en MS Access

Buenos Días, resulta que estoy implementando una base de datos y quiero evitar
los traslapes de información, para contextualizar la situación les daré una idea
de como esta elaborada la tabla que me produce
traslape:
Código..........Codigo_U..........Tipo.......Fini........... Ffin.......Hini........Fin......Dur.....Cla
34234.......TFR-345-ERS......ERASE...05-05.......05-05.....08:00...09:00......1.......C1
432443.....TGK-456-CLN......CLEAN...05-05.......05-05.....08:00...10:00......2.......C1
23434.......TFR-345-CLN......CLEAN....05-05......05-05.....09:00...11:00......2.......C1
65654.......TGK-456-MNT.....MNTTO...05-05......05-05.....08:00...16:00......8.......C1
Como ven hay dos tipos de traslape (uno como los datos1 y 3) y el otro es (como los datos 2 y 4) el de quiero evitar los dos.
El Codigo_U representa el código mixto entre el tipo de acción y el responsable, en una consulta obtengo los responsables extrayendo parte del texto de Codigo_U en un campo llamado Nom que para el primero y tercero seria FR 345 y para el segundo y cuarto es GK 456, mi idea es que no pueda iniciar una acción para el mismo Responsable exactamente después de acabada una, ni tampoco hacer dos en simultaneo.
Para corregir esto se deben fusionar la dos o mas en una sola, dejando por código U y tipo igual al de mayor duración, para el caso del ejemplo la respuesta sería:
Código..........Codigo_U..........Tipo.......Fini......Ffin.......Hini........Fin......Dur.....Cla es
23434.......TFR-345-CLN......CLEAN....05-05....05-05....08:00...11:00......3.....C1
65654.......TGK-456-MNT......MNTTO...05-05....05-05....08:00...16:00......8.....C1
Para el caso 2, como están en simultaneo, solo se deja la de mayor duración y la otra desaparece, pero en el caso1 se funcionan sumando la duración y tomando la Hini del que primero empieza y la Fin del que termina después.
Mi base de datos esta echa en Access 2007, necesito evitar esos traslapos, ya que los datos son vinculados desde excel y la tabla no se puede modificar.
Desde ya, muchas gracias.
Saludos.

1 Respuesta

Respuesta
1

Lo resolví mediante un algoritmo:
1.- Ordenar los datos por nombre de equipo, fecha de inicio
2.- Comparar el nombre de equipo con el nombre de equipo del siguiente registro:
Si son iguales compara las fechas, y si encuentra traslapes les asigna nuevas fechas para evitar los traslapes, y le asigna un flag o bandera solo al primero, mostrando que solo ocurrio un proceso en ese tiempo.
3.-Luego lo grabo todo en una nueva tabla...
Más detalles.. Evitar traslape de datos en MS Access

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas