Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Maestro detalle con firebird e IBExpress (https://www.clubdelphi.com/foros/showthread.php?t=36489)

edenis 13-10-2006 17:22:24

Maestro detalle con firebird e IBExpress
 
La verdad es que soy nuevo en delphi y estoy programando una aplicacion
la cual tiene una base de datos de animales prehistoricos bueno en si la BD es como un arbol, es decir tiene tipo->subtipos->clases->familias->especie, etc.. el problema es que quiero utilizar lo de Maestro Detalle con las tablas clases->familias->especies y bueno ya cree las tablas, con sus respectivas claves primarias y foraneas, y cree sus datasources y todo.

El problema es que puse 3 listbox en el form

|clases|+| |familias|+| | especie|+|

quisiera que al seleccionar en una lista desplegable una clase, me aparesca al lado las familias de esa clase, y que al seleccionar una familia me aparescan las especies que peretenecen a esa familia

por fa si alguien puede ayudarme les estaria muy agradecido, como dije soy nuevo en delphi y este problema me detuvo para continuar

Paoti 13-10-2006 18:09:08

Ammmh!


de una manera rápida voy a intentar darte una idea.



tienes

tus 3 TIBQuery, por ejemplo seria TQClases, TQFamilias, TQEspacies.


el select de TQClases seria


Código SQL [-]
SELECT * FROM Clases

el Select de TQFamilias seria


Código SQL [-]
SELECT * FROM Familia WHERE nombre_CLASE = :paraClase


el select de TQEspecies seria:

Código SQL [-]
SELECT * FROM Familia WHERE nombre_FAMILIA = :paraFamilia

Qeu es esto,v amos a hacer conusltas con parametros.


Ahora.

Cargas en un listBoxm, la tabla de clases.


en el evento OnChange de tu listbox, puedes poner esta linea de código

Código Delphi [-]
var
i : integer;
begin
   TQFamilia.close;
   TQFamilia.ParamByName('paraClase').AsString := listbox.text;
   TQFamilia.open;
   while not TQFamilia.eof
     begin
      listbox2.add.items(TQFamilia.fileds('nombraFamilia').asString;
      TQFamilia.next
     end;
end;




la variable i n se para que la declare, jejeje



pero mas o menos esa es la idea


La franja horaria es GMT +2. Ahora son las 04:16:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi