Acrescer colunas no dbgrid delphi 7
Pessoal, dentro de um form, coloco um dbgrid ligado a uma tabela no firebird diretamente. Por exemplo, tabela A, com os campos ID,Qtde,Preco. Porém nesta tabela não tem a descricao do produto, pois a descricao esta na tabela b. Como posso adicionar o campo descricao ou qualquer outro campo neste dbgrid, mesmo que para alimenta-lo eu o faça em tempo de execução ???
Carlos Cabral
Curtidas 0
Respostas
Dorivan Sousa
18/06/2015
que objeto voce ta utilizando para acessar os dados?
se voce estiver usando algum objeto de query é so voce fazer o join no sql.
por exemplo
tabela produtos
id, descricao
tabela produtos_vendas
id, id_produto, qtd, preco
se voce estiver usando algum objeto de query é so voce fazer o join no sql.
por exemplo
tabela produtos
id, descricao
tabela produtos_vendas
id, id_produto, qtd, preco
select produtos_vendas.id, produtos_vendas.id_produto, produtos.descricao, produtos_vendas.qtd, produtos_vendas.preco from produtos_vendas inner join produtos on (produtos.id = produtos_vendas.id_produto) /
GOSTEI 0
Carlos Cabral
18/06/2015
Ola Dorivan. Eu utilizo para a conexão o dbconnections, fazendo a sequencia sql dataset, datasetprovider e clientdataset, todos atravez de um datamodule com sqlconnection. No sqldataset eu ja declaro a select Command. Em alguns forms eu altero a select em tempo de execução, principalmente quando tenho itens inativos que nao devem ser mostrados. Nunca trabalhei com o inner join. Portanto não sei como fazer. Estou postando as tabelas para ter ciencia melhor.
Tabela Produtos
Campos: IDPRODUTO Integer e chave primaria
DESCRICAO String
FANTASIA String
e outros
Tabela ComposicaoItens
Campos: IDCOMPOSICAO Integer e chave primaria
IDPRODUTO Integer
QUANTIDADE Float
UNITARIO Currency
No form, criei um DBGrid com DataSource: ComposicaoItens
Obviamente irá aparecer somente as colunas desta tabela.
A idéia é incluir uma coluna com a DESCRICAO e FANTASIA que esta na tabela de produtos.
Espero ter explicado legal
Obrigado
Tabela Produtos
Campos: IDPRODUTO Integer e chave primaria
DESCRICAO String
FANTASIA String
e outros
Tabela ComposicaoItens
Campos: IDCOMPOSICAO Integer e chave primaria
IDPRODUTO Integer
QUANTIDADE Float
UNITARIO Currency
No form, criei um DBGrid com DataSource: ComposicaoItens
Obviamente irá aparecer somente as colunas desta tabela.
A idéia é incluir uma coluna com a DESCRICAO e FANTASIA que esta na tabela de produtos.
Espero ter explicado legal
Obrigado
GOSTEI 0
Dorivan Sousa
18/06/2015
na tabela composicaoitens vc vai relacionar com a tela produtos.. vc usa o sql dataset, datasetprovider e clientdataset.
no sql dataset vc hj deve ter
code]
select
idcomposicao,
idproduto,
quantidade,
unitario
from
composicaoitens
[/code]
ai muda pra
entendeu?
aqui tem um post sobre join
https://www.devmedia.com.br/explorando-os-tipos-de-join-parte-i/2507
ou esse q eu aprendi uns termos novos
https://www.devmedia.com.br/sql-join-entenda-como-funciona-o-retorno-dos-dados/31006
bem interessantes vale a pena ler.
no sql dataset vc hj deve ter
code]
select
idcomposicao,
idproduto,
quantidade,
unitario
from
composicaoitens
[/code]
ai muda pra
select composicaoitens.idcomposicao, composicaoitens.idproduto, produtos.descricao as descricaoproduto, composicaoitens.quantidade, composicaoitens.unitario from composicaoitens inner join produtos on (produtos.idproduto = composicaoitens.idproduto)
entendeu?
aqui tem um post sobre join
https://www.devmedia.com.br/explorando-os-tipos-de-join-parte-i/2507
ou esse q eu aprendi uns termos novos
https://www.devmedia.com.br/sql-join-entenda-como-funciona-o-retorno-dos-dados/31006
bem interessantes vale a pena ler.
GOSTEI 0
Carlos Cabral
18/06/2015
Vou testar. Muito Obrigado pela ajuda. Abraços
GOSTEI 0