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 05-02-2005
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
DBGrid con una columna de nombre de otra tabla

Hola Amigos !

Tengo un DBGrid donde quiero que se muestre un Código de Agencia y su Nombre correspondiente, pero el Nombre de la Agencia se encuentra en otra tabla diferente a la que tengo asociada a ese DBGrid.

Para ello he creado dos IBQuery y sus respectivos SQL. El primero ('IBQuery1') que me selecciona los registros que quiero, y el segundo ('IBQueryLookUp') con su respecto SQL:
Código SQL [-]
select NAME from AGENCIES
   where AGENCYNO = :AGENCOMPNO
donde AGENCOMPNO es el código del primer Query y el que se muestra en el DBGrid. El enlace me funciona bien asignando como DataSource (y DataSet) del IBQueryLookUp a IBQuery1.

Como puedo hacer ahora que el nombre ("NAME") de la agencia aparezca en el DBGrid ? Lo he intentado con un nuevo campo tipo LOOKUP en el IBQuery1, pero algo debo de hacer mal proque no funciona.

Gracias por vuestra ayuda
Responder Con Cita
  #2  
Antiguo 05-02-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Lo que tienes que hacer es una sola consulta y en ella obtener los campos que necesitas de las dos tablas:
Código SQL [-]
  select AG.AGENCOMPNO, AC.NAME from AGENCIES
 From Agencias as AG, Codigos as AC
 where AG.AGENCYNO = AC.AGENCOMPNO

A esta consulta le unes un DataSource y este lo conectas con la rejilla.

Ten en cuenta que el nombre de las tablas y los campos lo he deducido.

Tendrás que actualizarlos.

Un Salduo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 05-02-2005
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Ya lo solucioné !!

En el IBQueryLookUp he seleccionado toda la tabla completa de Agencias, y en el IBQuery1 he creado un campo tipo LOOKUP que busca en IBQueryLookUp el código de la agencia corespondiente y muestra su nombre en el DBGrid.

Saludos
Responder Con Cita
  #4  
Antiguo 05-02-2005
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Gracias Marcos,

Acabo de ver que contestates al mismo tiempo que yo dije que lo había solucionado.

He pensado la opción que describes, pero me gustaría preguntarte si esa solución sirve en caso de que quiera editar el DBGrid, insertanto y borrando registros.

Debo de pensar que en el caso que tú propones debería volver a ejecutar de nuevo el SQL, no?

Con el LOOKUP que he creado, consigo mostrar en el DBGRid el nombre de la agencia y de esta manera cada vez que inserte o borre un registro seguirá mostrando el nombre automáticamente, no?

Saludos
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


La franja horaria es GMT +2. Ahora son las 20:18:34.


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