Informações que são mostradas no DBGrid

Delphi

10/07/2009

Amigos,
Estou com um problema e preciso da ajuda de vocês. É o seguinte:
Tenho a tabela ´Produtos´ que recebe o código da tabela ´Cores´ e guarda em um campo chamado ´prod_cor_cod´.
Bem, o fato é que o DBGrid mostra os campos da tabela ´Produtos´ e na coluna referente a cor do produto está mostrando o código da cor. Preciso que apareça a descrição da cor, da mesma forma que em um DBLookupComboBox, porém não to conseguindo acertar as ligações. Se tiver alguem que saiba como fazer, ficarei muito agradecido.


Rlacerda

Rlacerda

Curtidas 0

Respostas

Danielrsanches

Danielrsanches

10/07/2009

você pode fazer isso na instrução SQL.

select *,
(select DESCRICAO from COR where COD = PROD_COR_COD) as "COR_DESC"
from PRODUTOS


onde:
DESCRIÇÃO: é o campo que contém a descrição das cores
COR: nome da tabela de cores
COD: código da tabela de cores
PRODUTOS: nome da tabela de produtos



qq coisa é só postar novamente ...

abraços !!!


GOSTEI 0
Rlacerda

Rlacerda

10/07/2009

você pode fazer isso na instrução SQL.
select *,
(select DESCRICAO from COR where COD = PROD_COR_COD) as "COR_DESC"
from PRODUTOS
onde: DESCRIÇÃO: é o campo que contém a descrição das cores COR: nome da tabela de cores COD: código da tabela de cores PRODUTOS: nome da tabela de produtos qq coisa é só postar novamente ... abraços !!!


danielrsanches, obrigado pela dica, mas acho que não fui claro ao explicar o problema. Veja só:
Preciso que a descrição da cor apareca na coluna ´Cor´ do meu DBGrid. Nessa coluna está aparecendo o código da cor. Esse código fica guardado na tabela Produtos como chave estrangeira.
Para ser mais claro, coloquei a imagem do meu DBGrid no endereço abaixo:
http://img16.imagevenue.com/img.php?image=36673_localizaproduto_122_140lo.jpg
O mesmo problema é o das colunas ´Tamanho´ e ´Condição´, mas resolvendo um os outros serão moleza.
Desde já agradeço a ajuda


GOSTEI 0
Danielrsanches

Danielrsanches

10/07/2009

olha rlacerda !!! só se eu estiver viajando muito, mas, acho que entendi o que vc quer sim ... vou tentar explicar:

com o código SQL que te passei, vc vai obter um CAMPO (temporário, esse campo não existe realmente na tabela, é apenas uma referencia à tabela de cores através da sua chave estrangeira), e poderá exibir este campo no seu dbgrid, como se fosse outro campo qualquer... assim, vc tira o código da cor do grid e exibe apenas o nome da cor ...

faça um teste direto em seu banco de dados...


abraços !!


GOSTEI 0
Marcos.gandin

Marcos.gandin

10/07/2009

rlacerda

você vai precisar fazer o sql unindo as tabelas que vai precisar e depois no bdgrid você vai usar somente as colunas que lhe interessa.

por exemplo, para este sql aí que você ta precisando ésó fazer:

Select P.Cod_Prod, P.Des_Prod, P.Tamanho, C.Des_Cor, P.Condicao
From Produtos P, Cores C
where P.prod_cor_cod = C.prod_cor_cod

Obs.: com os campos Tamanho e Condição faz o mesmo.

espero ter ajudado

Abraço


GOSTEI 0
Rlacerda

Rlacerda

10/07/2009

Amigos,
Solucionado o problema. Muito Obrigado pelas dicas.
Fico-lhes devendo essa.
Obrigado mesmo.
Ricardo.


GOSTEI 0
POSTAR