PDA

Ver la Versión Completa : Master/Detail/Detail/Detail/etc...


hgiacobone
23-07-2003, 18:36:47
Hola amigos...
Estoy en una encrucijada con las relaciones. Es un caso tonto, pero no lo puedo resolver.
Tengo que hacer una relacion Master/Detail pero la propiedad MasterSource-Detail solo me permite hacerlo uno a uno y yo necesito UNO A VARIOS.

Las tablas son:
ALQUILER
CLIENTES
PELICULA1
PELICULA2
DET1
DET2
Tengo una tabla (ALQUILER) que contiene un detalle de casetes de peliculas en alquiler. Este almacena el ID del cliente (CLIENTES)y de la pelicula en cuestion (PELICULA1).

A su vez, la tabla PELICULA1 debería estar relacionada con PELICULA2 que es donde existen los detalles y las tablas DET1, DET2, etc. que contienen otro grupo de detalles como el formato o la editora.

Cuando agrego a ALQUILERES una pelicula, con su ID debo obtener los detalles de las tablas PELICULA2;DET1;DET2 entre otras y almacenar sus respectivos códigos en la tabla de alquileres.


Veamos si puedo hacer un gráfico:

PELICULA1__----> ALQUILER <----__CLIENTES
| |
| |
PELICULA2 |
DET1
DET2


Espero se entienda el problema.

jachguate
23-07-2003, 18:55:42
No se si entendí bien tu pregunta.

Supondre que la tabla Alquileres es el master, y de ella cuelgan Pelicula1 y Pelicula 2 y de esta última Det1 y Det2.

Ademas, que tenes datasources con el Nombre dsAlquiler y dsPelicula2.

Además, que el indice que usas en todas siempre tiene como primer segmento un campo llamado ID que es el correspondiente a la llave primaria de alquileres.

Las propiedades debieran ser:



Pelicula1
MasterSource = dsAlquiler
MasterFields = ID
end

Pelicula2
MasterSource = dsAlquiler
MasterFields = ID
end

Det1
MasterSource = dsPelicula2
MasterFields = ID;PELICULA
end

Det2
MasterSource = dsPelicula2
MasterFields = ID;PELICULA
end


Es probable que no se ajuste a tu estructura, pero te servirá para adaptarlo.

Como te daras cuenta, la relación maestro/detalle no se hace en el master, sino en el detalle. De esa forma un solo dataset puede servirte de master para muchos, muchos details.

Hasta luego

;)

hgiacobone
24-07-2003, 17:20:31
Es que tal vez no lo explique bien.

La tabla ALQUILER almacena lo siguiente:
idClliente-idPelicula-Detalle-Formato-Precio

La tabla CLIENTES se conforma:
idCliente
Nombre
Direccion

La tabla PELICULA1 se conforma:
idPelicula
Titulo

La tabla PELICULA2 se conforma:
idPelicula
idFormato
idPrecio
Comentarios

La tabla FORMATO se conforma:
idFormato
TipoFormato

La tabla PRECIOS se conforma:
idPrecio
Monto1
Monto2

¿Cómo hago para mantener la relación al mismo tiempo entre la tabla CLIENTES y PRECIOS1 y que esta a su vez mantenga relaciones con FORMATO, PRECIOS y otras tantas?