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 11-12-2007
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Poder: 21
jzginez Va por buen camino
eventos entre dbgrid y lookup

Hola amigos tengo dos tablas detalle devolución y productos, a través de un campo lookup que enlazo con el id del producto y me muestra la descripción de este, lo que quiero es tomar otros valores de otros campos de la tabla producto en ese momento, alguien me puede decir si esto es posible.

Espero darme a explicar en resume lo que quiero es que al usar un campo lookupfield no solo obtener el valor del campo por el que hice la liga sino también el de otros campos, por supuesto antes de hacer algún post.

Gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
Responder Con Cita
  #2  
Antiguo 12-12-2007
Avatar de saldanaluis
saldanaluis saldanaluis is offline
Miembro
 
Registrado: nov 2006
Ubicación: Monterrey NL México
Posts: 122
Poder: 18
saldanaluis Va por buen camino
Disculpa, pero no entendí bien tu situación.
Si pudieras aclarar un poco mas la situación estoy seguro que alguien podrá ayudarte.
Saludos...
Responder Con Cita
  #3  
Antiguo 12-12-2007
Avatar de juanlaplata
juanlaplata juanlaplata is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Plata, Bs. As. (Argentina)
Posts: 212
Poder: 18
juanlaplata Va por buen camino
Veamos, el DBLoockUpCombox solo de mustra un campo, pero el la propiedad KeyValue tienes el ID del producto, si esta seteado KeyField = IdProducto
lo que puedes hacer es una consulta sobre la tabla productos que traiga los datos que quieras para ese ID.
O, se me acaba de ocurrir, poner DBEdits a la par de tu DBLoockUpCombox relacionados con la misma tabla (seteando los campos necesarios) , y que al elegir un registro mediante el LookUp se mostrara los demas datos.

Espero haber sido claro. Suerte.
Responder Con Cita
  #4  
Antiguo 13-12-2007
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Poder: 21
jzginez Va por buen camino
Hola gracias por las respuestas pero intentare explicarme mejor a ver si así me entienden.

Tengo un pFIBDataSet (pFIBDetalleCompra) con la siguiente sentencia select:
Código SQL [-]
SELECT
    DETALLECOMPRAS.ID_COMPRA,
    DETALLECOMPRAS.ORDEN,
    DETALLECOMPRAS.CANTIDAD,
    DETALLECOMPRAS.ID_PRODUCTO,
    productos.descripcion,
    (DETALLECOMPRAS.ID_PRODUCTO||' '||productos.descripcion) descripcion2,
    DETALLECOMPRAS.PRECIO,
    DETALLECOMPRAS.TOTAL,
    DETALLECOMPRAS.ID_UNIMED
FROM
    DETALLECOMPRAS 
    left join productos on (DETALLECOMPRAS.id_producto = productos.id)
where DETALLECOMPRAS.ID_COMPRA = :ID

Esta me muestra el detalla de alguna compra sobre la que quiero hacer la devolución.

y tengo otra pFIBDataSet (pFIBDetalle) para el detalle de la devolución
Código SQL [-]
SELECT
    ID_DEVOLUCION,
    ORDEN,
    ID_PRODUCTO,
    CANTIDAD,
    PRECIO,
    TOTAL,
    ID_UNIMED
FROM
    DETALLEDEVOLUCION 
where id_devolucion = :id

En este segundo pFIBDataSet en el editor de campos agrego un campo calculado del tipo lookup con las siguentes propiedades:
Código Delphi [-]
Name:= pFIBDetalleDescripcion;
LookupDataSet:= pFIBDetalleCompra;
LookupKeyField:= ID_PRODUCTO;
KeyField:= ID_PRODUCTO
cuando pongo un dbgrid para este dataset en el campo descripción se activa un tipo bdlookupcombobox de forma automática, de este es del que intento controlar los eventos.

Espero halla quedado un poco mas claro. gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
Responder Con Cita
  #5  
Antiguo 14-12-2007
Avatar de juanlaplata
juanlaplata juanlaplata is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Plata, Bs. As. (Argentina)
Posts: 212
Poder: 18
juanlaplata Va por buen camino
Si no entiendo mal (pFIBDetalle) sera el detalle de la devolucion de algunos productos de (pFIBDetalleCompra) , que en definitiva seran los productos devueltos de alguna talves (pFIBCompra) . Si es asi creo que lo mejor seria agregar en (pFIBDetalle) un campo (ID_COMPRA) relacionarlos en el detalle
Código SQL [-]
SELECT
    ID_COMPRA,                       // nueva linea
    ID_DEVOLUCION,                  
    ORDEN,
    ID_PRODUCTO,
    CANTIDAD,
    PRECIO,
    TOTAL,
    ID_UNIMED,
    DETALLECOMPRAS.*             // nueva linea
FROM
    DETALLEDEVOLUCION left join DETALLECOMPRAS on (DETALLECOMPRAS.ID_COMPRA  = DETALLEDEVOLUCION.ID_COMPRA)
WHERE id_devolucion = :id

ahi tendras los datos que deseas del detalle de compra.

Última edición por juanlaplata fecha: 14-12-2007 a las 13:43:01.
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
Lookup en Dbgrid Moparova Conexión con bases de datos 7 24-07-2007 22:28:59
ayuda dbgrid y lookup Sir_Roc Varios 4 02-02-2006 18:55:16
Diferencia entre Table Lookup y Referencial Integrity Sayuri Tablas planas 0 26-07-2005 12:10:57
LookUp en un DbGrid fmonte Varios 3 06-04-2005 19:47:30
Dbgrid Y Campos Lookup nax Conexión con bases de datos 3 01-12-2004 08:26:55


La franja horaria es GMT +2. Ahora son las 04:41:53.


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