Access - Sobre tabla varios a varios

   
Vista:

Sobre tabla varios a varios

Publicado por Pregunton (2 intervenciones) el 07/01/2011 20:07:29
Hola, tengo una duda respecto a como debo aplicar una tabla con relaciones varios a varios, ojala me puedan ayudar, me explico

tblPais
tblPais.Id;tblPais.Pais
1;Argentina
2;Colombia
3;España
4;Mexico

tblEstado
tblEstado.Id;tblEstado.Estado
1;DF
2;Barcelona
3;Bogota
4;Buenos Aires
5;Madrid
6;Mendoza
7;Monterrey
8;Santander

En la siguiente tabla especifico como a cada Pais le corresponden ciertos Estados/Provincias (relacion varios a varios)

tblPais-Estado
tblPais-Estado.IdPais;tblPais-Estado.IdEstado
1;4
1;6
2;3
2;8
3;2
3;5
4;1
4;7

Ahora, tengo una 4ta tabla, que es donde tengo la duda, en esta tabla selecciono el Id del Pais, en el campo subsecuente es posible que unicamente aparescan los Estados asociados al Pais previamente seleccionado?? Si es posible, como se efectua la consulta?
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

RE:Sobre tabla varios a varios

Publicado por pepe (67 intervenciones) el 08/01/2011 01:09:32
El planteamiento es equipocado, no estamos ante una relacion varios a varios, sino de uno a varios. Es sencillo de entender, un pais puede tener varios estados, pero un estado no puede estar en varios paises, por ello es una relacion de un pais a varios estados.

Una relacion varios a varios podría ser empresas y empleados. Una empresa puede tener varios empleados y un empleado puede ser contratado por varias empresas.

En el caso de pais y estado solo son necesarias las 2 primeras tablas, añadiendo el código de pais en la tabla de estados, para indicar cada estado a que pais pertenece.

Una vez hecho esto, solo necesitamos una consulta como la siguiente:

SELECT * FROM estado WHERE CodigoPais=1:

O también:

SELECT pais.*, estado.* FROM pais INNER JOIN estado ON pais.codigo = estado.CodigoPais WHERE pais.nombre="Argentina"

La segunda consulta permite indicar el nombre del pais en vez del código.
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

RE:Sobre tabla varios a varios

Publicado por Pregunton (2 intervenciones) el 08/01/2011 16:56:06
Hola Pepe, ciertamente, el planteamiento que propongo no fue el mas adecuado, pero siguiendo con tu idea respecto a empleado y empresas, supongamos entonces que tengo una tabla para empleados, una segunda para empresas, una tercera donde asocio a cada empleado con sus posibles empresas, en la cuarta tabla como logro que despues de seleccionar a un empleado, en el siguiente campo unicamente aparescan las empresas a las que esta asociado?? (siempre trabajando directamente con tablas), es esto posible?

Lo que deseo es un campo combo que filtre dinamicamente dependiendo del campo seleccionado con anterioridad, si el criterio estuviera marcado por un formulario seria algo asi... Forms!Miformulario!Mitextbox, pero si el valor se encuentra en la misma tabla, como??

Agradezco su ayuda.
Saludos.
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

RE:Sobre tabla varios a varios

Publicado por pepe (67 intervenciones) el 08/01/2011 23:28:58
Saludos Pregunton, es dificil llegar a dar una solucion sin entender la pregunta.

He intentado comprender los terminos en los que se plantea el problema pero solo consigo especular sobre lo que pretendes.

Sobre las tablas directamente no se puede filtrar registros, esto se hace en consultas y formularios. Plantear un buen diseño de tablas es CRUCIAL.
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