Evitar duplicacion valores en relacion N a N
Publicado por Roberto (14 intervenciones) el 02/05/2006 14:27:16
Hola! Os agradecería que me echaseis una mano con esto... que me trae loco.
Por un lado tengo la tabla EMPRESAS, con el ID, nombre, etc.
Por otro lado tengo la tabla SERVICIOS, con un ID que consiste en 3 letras (ej. AAA) y el nombre del servicio.
Cada empresa puede prestar varios servicios, y cada servicio puede ser prestado por varias empresas. Por eso he creado la tabla PRESTACIÓN, mediante la cual relaciono EMPRESAS con SERVICIO. Además en esta tabla de relación también hay otro campo en el que indico si ese servicio tiene carácter PRINCIPAL o SECUNDARIO
Para entrar la información he diseñado un formulario de EMPRESAS, en el que he incrustado un subformulario de PRESTACION.
La cuestión es la siguiente (son 2):
1.- ¿Cómo puedo hacer para que a la hora de insertar los servicios para una determinada empresa el usuario no pueda entrar 2 veces el mismo SERVICIO? (Los servicios se muestran mediante un cuadro desplegable) -- (Supongo que sería comprobar si en la tabla de relación, para el ID de la empresa, ya existe una relación con el ID del servicio)-- pero es que no domino la programación. :-(
2.- Además, para cada servicio asignado a la empresa, debo especificar si éste es PRINCIPAL o SECUNDARIO, en ese mismo subformulario... y aquí la segunda pregunta se subdivide:
2.1.- sólo puede haber un ervicio PRINCIPAL!!! Cómo lo limito? (Supongo que es una adaptación de la respuesta anterior)
2.2.- cómo fuerzo a que haya 1 Principal necesariamente, no me vale que todos sean secundarios. (Que dé un mensaje de ERROR "NO hay servicio principal" si intento salir del subformulario)
Muchísimas gracias, espero haberme explicado bien. Si no, no dudéis en escribirme. GRACIAS!!!
Roberto
Por un lado tengo la tabla EMPRESAS, con el ID, nombre, etc.
Por otro lado tengo la tabla SERVICIOS, con un ID que consiste en 3 letras (ej. AAA) y el nombre del servicio.
Cada empresa puede prestar varios servicios, y cada servicio puede ser prestado por varias empresas. Por eso he creado la tabla PRESTACIÓN, mediante la cual relaciono EMPRESAS con SERVICIO. Además en esta tabla de relación también hay otro campo en el que indico si ese servicio tiene carácter PRINCIPAL o SECUNDARIO
Para entrar la información he diseñado un formulario de EMPRESAS, en el que he incrustado un subformulario de PRESTACION.
La cuestión es la siguiente (son 2):
1.- ¿Cómo puedo hacer para que a la hora de insertar los servicios para una determinada empresa el usuario no pueda entrar 2 veces el mismo SERVICIO? (Los servicios se muestran mediante un cuadro desplegable) -- (Supongo que sería comprobar si en la tabla de relación, para el ID de la empresa, ya existe una relación con el ID del servicio)-- pero es que no domino la programación. :-(
2.- Además, para cada servicio asignado a la empresa, debo especificar si éste es PRINCIPAL o SECUNDARIO, en ese mismo subformulario... y aquí la segunda pregunta se subdivide:
2.1.- sólo puede haber un ervicio PRINCIPAL!!! Cómo lo limito? (Supongo que es una adaptación de la respuesta anterior)
2.2.- cómo fuerzo a que haya 1 Principal necesariamente, no me vale que todos sean secundarios. (Que dé un mensaje de ERROR "NO hay servicio principal" si intento salir del subformulario)
Muchísimas gracias, espero haberme explicado bien. Si no, no dudéis en escribirme. GRACIAS!!!
Roberto
Valora esta pregunta


0