PDA

Ver la Versión Completa : dbgrid con valor de otras tablas


anubis
14-10-2011, 04:15:18
Hola,

quiza sea sencillo, pero no me sale.:(

Tengo 2 tablas, una que son clientes y otra compras, en la de compras no esta el nombre sino su clave, queria a ver si esposible que en vez de que me muestre en el dbgrid la clave, me muestre el nombre.

no se si sera posible.

saludos y gracias

ecfisa
14-10-2011, 06:47:23
Hola anubis.

La forma más sencilla es mediante un campo lookup.

Para darles un nombre, supongamos que tus DataSets se llaman DataSetCpr y DataSetCli


Posicionado sobre DataSetCpr hacé doble click con el mouse, o click derecho y elegí Fields editor...
Botón derecho del mouse y elegí Add all Fields
Botón derecho del mouse nuevamente y elegí New field....
Completá los siguientes datos:
Name: nombre del campo (el que gustes)
Component: nombre del componente, (modificalo a tu gusto)
Field type: Lookup.
Key fields: Campo de DataSetCprque apunta al Cliente
DataSet: DataSetCli
Lookup Keys: Campo por que se relaciona referencia al cliente (normalmente ID_CLIENTE)
Result fields: Nombre del campo que deseas que se muestre (en este caso supongo que NOMBRE)

Te pongo una imágen como guía de esta última parte:

http://www.imagengratis.org/images/anubishz5rh.jpg

Luego con el editor de columnas del TDBGrid podés elegir que campos se mostrarán.


Un saludo.

anubis
14-10-2011, 15:51:18
Gracias por la aportacion, viy a ver la forma de implementar eso pero por código.

saludos

anubis
16-10-2011, 02:17:53
Perfecto mi amigo, funciona bien si lo hago en las propiedades de los objetos, mi meta es poder hacerlo por codigo puesto que el zconnection de los zeos las propiedades las asigno por codigo

muchas voy a ver como se puede hacer esto por codigo, si alguien sabe se lo agradeceria ;).

saludos

anubis
16-10-2011, 04:08:09
ok, mis disculpas por poner 3 post seguidos, pero no me ha dejado editar :(.

En este caso dire que en diseño si se ven esos campos en el dbgrid que queria, pero al compilar y ejecutar, me da error en el query de cliente porque no encuentra la clave que se llama 'clave' que si existe

raro?