Select com Mestre Detalhe

Delphi

02/10/2014

Boa Tarde, pessoal estou com um problema e a vários dias tentando solucionar e não consigo e o seguinte:
Tenho a Tabela ESTOQUE_PRODUTOS com os seguinte campos: ID_ESTOQUE, ID_PRODUTO, SALDO, SALDO_RESERVA aonde ID_ESTOQUE E ID_PRODUTOS são chaves primarias e secundarias da tabela fazendo referencia as tabelas PRODUTO E ESTOQUE , e preciso de um select que traga só os produtos que não estão em um estoque para pode inserir depois.
Kledson Campos

Kledson Campos

Curtidas 0

Respostas

Marlon Minotti

Marlon Minotti

02/10/2014

Não entendi muito bem sua pergunta, pode ser mais específico? Me parece que você tem uma tabela Produtos, Estoque, e Estoque_Produto. Primeiro, qual a finalidade da tabela Estoque_Produto? Segundo, especifique melhor sua pergunta.
GOSTEI 0
Kledson Campos

Kledson Campos

02/10/2014

Bom Marlon, a tabela estoque_produtos ficam armazenado os produtos por estoque aonde trabalho com vários estoques e nessa tabela fica os produtos que pertencem aos estoques.
ex: tenho estoque vendas, deposito e posso ter produtos em vendas que não tem em estoque e ai vai como posso ter uma quantidade de um certo produto no deposito e outro na no estoque vendas.
GOSTEI 0
Marlon Minotti

Marlon Minotti

02/10/2014

Tá! com base no que você me disse, o que exatamente você precisa? De um select que faça o que?
GOSTEI 0
Kledson Campos

Kledson Campos

02/10/2014

No cadastro de estoque tem uma grid que mostrar os produtos do estoque e em baixo tem um botão de incluir os produtos no estoque, ai ao clicar abre um form que pesquiso os produtos que falta incluir no estoque, por isso que falei que precisaria um select aonde mostre só os produtos que não estão no estoque especifico.[img:descricao=Print da Tela de cadastro e de pesquisa de produto. ]http://arquivo.devmedia.com.br/forum/imagem/315270-20141002-204125.jpg[/img]
GOSTEI 0
Ricardo

Ricardo

02/10/2014

No cadastro de estoque tem uma grid que mostrar os produtos do estoque e em baixo tem um botão de incluir os produtos no estoque, ai ao clicar abre um form que pesquiso os produtos que falta incluir no estoque, por isso que falei que precisaria um select aonde mostre só os produtos que não estão no estoque especifico.[img:descricao=Print da Tela de cadastro e de pesquisa de produto. ]http://arquivo.devmedia.com.br/forum/imagem/315270-20141002-204125.jpg[/img]


Vamos ver se eu entendi para poder te ajudar.

Você tem um tabela de cadastro de produtos e tem uma tabela do estoque. Você quer saber quais os produtos que não estão inseridos da tabela estoque para poder inseri-los é isso?
GOSTEI 0
Kledson Campos

Kledson Campos

02/10/2014

Isso, preciso saber quais os produtos que não estão no estoque para pode inserir.
GOSTEI 0
Ricardo

Ricardo

02/10/2014

Não vou testar o código, testa aí, mas seguindo um lógica rápida...

Digamos que vc tem a tabela produtos e a tabela estoque.

Produtos -> Id_produto, produto
Estoque -> Id_produto, qtd

While not produto.eof do
begin
with estoque do
begin
close;
sql.clear;
sql.add('select id_produto from estoque where id_produto ='+ quotestr(produto.fieldbyname('id_produto').value));
open;
if produto.recordcount = 0 then
begin
showmessage('Produto não está em estoque e será cadastrado...');
estoque.append;
estoque.fieldbyname(id_produto).asinteger := produto.fieldbyname('id_produto').value;
estoque.fieldbyname(qtd).asinteger := você trata a forma como vai inserir do jeito que achar melhor...
estoque.post;
end;
end;
produto.next;
end;
GOSTEI 0
Ricardo

Ricardo

02/10/2014

Uma correção; não é "if produto.recordcount = 0 then" e sim "if estoque.recordcount = 0 then"
GOSTEI 0
Kledson Campos

Kledson Campos

02/10/2014

ok, vou testar e te digo, mais são 3 tabela: produtos, estoques e estoque_produtos . Aonde estoque_produtos tem os seguintes campos: id_produto, id_estoque no qual são chaves primarias e estrangeiras.
GOSTEI 0
Ricardo

Ricardo

02/10/2014

Só você fazer a junção das tabelas na query, creio que a tabela estoque_produtos indica o que esta disponível e a estoques a quantidade. Se for isso vc faz a consulta da forma como que creio que vai dar certo, usando as tabelas produtos e estoque_produtos e na hora de inserir vc faz a inserção simultânea na tabela estoque_produtos e estoques.
GOSTEI 0
Kledson Campos

Kledson Campos

02/10/2014

Olha só como e que estar a estrutura do banco.
[img:descricao=Tabela]http://arquivo.devmedia.com.br/forum/imagem/315270-20141002-224532.jpg[/img]
GOSTEI 0
POSTAR