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
|