Ver Mensaje Individual
  #4  
Antiguo 20-01-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Supongo que tienes una tabla para los paquetes y otra para las componentes, relacionadas mediante una llave, por ejemplo:

paquetes = (id, nombre, descripcion, otros campos)
componentes = (id, paquete_id, otros campos)

Lo único que tienes que hacer es usar dos componentes Table, una para paquetes y la otra para componentes, digamos: tblPaquetes y tblComponentes. A cada Table le conectas un DataSource:

tblPaquetes <- dsrcPaquetes
tblComponentes <- dsrcComponentes

A la propiedad MasterSource de tblComponentes le asignas dsrcPaquetes y en MasterFields asignas la relación

paquetes.id <--> componentes.paquete_id

o los campos llave que uses para relacionar las tablas.

Con esto Delphi se encarga del resto. Por ejemplo, si conectas sendos DBGrid a cada DataSource:

grdPaquetes -> dsrcPaquetes
grdComponentes -> dsrcComponentes

conforme el usuario se mueva por grdPaquetes, el otro grid mostrará exclusivamente las componentes del paquete seleccionado.

Puedes usar Querys pero en el caso de Paradox y BDE será más eficiente usar Tables.

¡Ah! Y esto funcionará para cada usuario. Siempre y cuando esté bien configurado el BDE no tendrás problemas con varios usuarios.

// Saludos
Responder Con Cita