Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-09-2007
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
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...
Responder Con Cita
  #2  
Antiguo 14-09-2007
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
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.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #3  
Antiguo 14-09-2007
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
Cita:
Empezado por Paoti Ver Mensaje
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.

Última edición por Gaim2205 fecha: 14-09-2007 a las 21:32:05.
Responder Con Cita
  #4  
Antiguo 14-09-2007
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
Solucionado, gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Llave primaria repetida Coco_jac Varios 5 29-08-2007 23:48:12
generar llave gsilvei Varios 4 09-12-2006 00:18:44
campos llave combinados suppergus Varios 2 02-05-2005 23:32:38
Llave de dos campos jovehe Tablas planas 3 30-09-2004 07:42:52
Problema con referencia foranea ! erickperez6 Firebird e Interbase 10 12-05-2003 17:52:21


La franja horaria es GMT +2. Ahora son las 05:35:08.


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
Copyright 1996-2007 Club Delphi