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)
-   -   Filrtar tabla por llave foranea?? (https://www.clubdelphi.com/foros/showthread.php?t=48089)

Gaim2205 14-09-2007 19:58:26

Filrtar tabla por llave foranea??
 
Utilizo D7, firebird, componentes MDO.
Tengo 2 tablas.

Tabla Profesor (matricula*,nombre,grado,.....)
Tabla Articulos(cve_articulo*, titulo, año,....)
*especifica llave primaria

estas tablas tienen una relacion de n a n mediante la tabla escribe(matricula,cve_articulo,co_autoria)

Ahora, en mi aplicacion, necesito tener un dbgrid que me muestre los datos de la tabla Articulos, pero que se filtre por la matricula del profesor que los escribe (campo matricula). Esto es posible? como lo hago?

espero haber hecho lo correcto con mi bd, y haber planteado bien la pregunta. Muchas Gracias...

Paoti 14-09-2007 20:08:36

mmmh

haber veamos...

haces un query de la tabla profesor...

que tiene matricula y el nombre del profesor.

ahroa haces otro Tquery, con la tabal de articulos,

la cual tendrá una sentacia ago aprecida a está:


Código SQL [-]
SELECT * FROM ARTICULOS WHERE MATRICULA = :PMATRICULA

con esto se hace una conuslta con parametros.


ahora cuando selecciones un profesos, en algun evento puede poenr lo sieguiente

Código Delphi [-]
QArticulos.close;
Qarticulos.ParamByName('PMATRICULA').asString := CajaMatriculaProfesos.tetx;
Qartiulos.Open;


mas o menos es la idea.


busca en el istorico, parametros en consultas.

o

tablas maestro detalle.

Gaim2205 14-09-2007 21:11:02

Cita:

Empezado por Paoti (Mensaje 231215)
ahroa haces otro Tquery, con la tabal de articulos,

la cual tendrá una sentacia ago aprecida a está:



Código SQL [-]
SELECT * FROM ARTICULOS WHERE MATRICULA = :PMATRICULA



con esto se hace una conuslta con parametros.


Disculpa pero, mi tabla articulos no tiene campo matricula. Tal vez fue un error de dedo y quisiste decir tabla escribe. Replanteo mi pregunta: Basicamente, necesito saber si es posible hacer un select en una tabla mediante una llave foranea. O sea, un campo que no exista en la susodicha tabla :P.
Gracias.

Gaim2205 14-09-2007 21:42:34

Solucionado, gracias :)


La franja horaria es GMT +2. Ahora son las 22:29:29.

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