Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Campos Virtuales (https://www.clubdelphi.com/foros/showthread.php?t=23913)

jdangosto 02-08-2005 10:34:58

Campos Virtuales
 
Hola a tod@s

Estoy intentando hacer campos virtuales en un dbgrid utilizando dos tablas, para que se obtengan en las celdas los datos de una de ellas a través de campos virtuales, pero no consigo aclararme.

¿Conoceis algún manual al respecto para este tema?

Desde ya Gracias.

Lepe 02-08-2005 11:17:33

Supongo que te refieres a campos LookUp, en el grid tienes un código de cliente, pero quieres mostrar el nombre del cliente.

Necesitas crearlo en la tabla / consulta origen del Grid,da doble clic sobre ella, boton derecho New Field:
- Rellena el nombre del campo (el que quieres que aparezca)
- Tipo de campo ftLookUp (Field Type lookUp, tipo de campo Búsqueda),
- Marca la opcion LookUp
- En Key Field, eliges el campo del código
- En Dataset, elige tu tabla de clientes
- En LookUp field, elige el código del cliente de la tabla clientes
- En result Field, eliges el nombre del cliente.

Un saludo, y espero que sea esto.

jdangosto 02-08-2005 11:42:11

Gracias de nuevo Lepe, es exactamente lo que necesito.

Asi que lo probaré y te responderé aqui mismo a ver que tal me ha ido.

Gracias

jdangosto 03-08-2005 16:56:25

A ver he probado lo que me comentas. En principio no me da ningún error, pero cuando intento activar las tablas me da que el campo en cuestión no existe, creo que es problema de referencia entre las tablas.

Voy a mirar como puedo relaciones con claves externas (foreing key) a ver si con eso resuelvo el problema.

Lepe 03-08-2005 19:13:22

Los campos en Delphi deben ser persistentes, es decir:

- Doble clic a tu tabla, boton derecho, Add all fields

Hazlo en las 2 tablas y tambien en el Grid.

Un saludo

jdangosto 04-08-2005 20:19:35

Ante todo agradecerte tu ayuda pero no lo consigo.

Voy a ser más explicito.

Estoy trabajando en una aplicacion que tengo que llevar un control de las ventas. Un cliente tiene una venta de distintos productos.
BIen, para ello estoy utilizando las tablas clientes, venta, detalle y producto.

Clientes tiene como claver principal cod_cliente, venta cod_venta y detalle id_detalle, y cada una enlazada, es decir, en venta existe un cod_cliente y en detalle existe un cod_venta.

Se realiza una a un cliente venta de varios pruductos.

Lo que intento hacer es que en el detalle de la venta, es decir en la tabla detalle, en el producto, el usuario pueda elegir entre los productos existentes en la tabla productos (la columna de la tabla producto es descripion).

Lo implemento de la siguiente forma en el grid.
Key Field: cod_producto
DataSet: tabla_productos
En LookUp field: eligo el cod_producto existente en la tabla detalle
En Result Field: eligo la descripcion del producto (existente en la tabla_productos)

Creo que algo estoy haciendo mal puesto que no consigo que me deje elegir entre los distintos productos existentes.

Gracias de Nuevo

jdangosto 04-08-2005 20:59:19

:) :) Ya lo he conseguido!!!

Al final he obtado por borrarlo todo y empezar siguiendo los pasos que me indicaste al pie de la letra y todo perfecto.

Muchas Gracias LEPE.

Un saludo.


La franja horaria es GMT +2. Ahora son las 16:15:47.

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