Alertar quando o estoque atual for igual ao estoque minimo.

Delphi

14/07/2005

Ai galera beleza?

É o seguinte, estou desenvolvendo um controle de estoque onde o cliente vai dar baixa e entrada no estoque, tenho as seguintes tabelas Id_produto, Cod_produto, Produto, Descrição, Unidade, Estoque_atual, Estoque_mínimo.

Acontece que o sistema tem que alerta para meu cliente, toda vez que o Estoque_Mínimo for igual ao estoque_atual, ou seja o cliente vai determinar o Estoque_Mínimo que eu não sei qual vai ser, então toda vez que o sistema for aberto esse alerta deve aparecer.

Eu fiz um form chamado estoque zerado e coloquei no evento OnShow do form principal, com duas opções ver os produtos com estoque zerado num relatório ou editá-las num grid.
Até aqui tudo bem, eu fiz assim
if DMGeral.QRprodutoestatual.value <= DMGeral.QRprodutoestminimo.value then
begin
 frmestoquezerado.ShowModal;
end;

O problema é que o form frmestoquezerado.ShowModal só aparece quando o primeiro registro esta com estoque atual menor ou igual ao estoque mínimo, se por exemplo o último registro estiver com estoque atual igual ao estoque mínimo ele não aparece.

Estou usando Delphi 7 e paradox com sql.

Se alguém puder me ajudar ficarei grato.


Chacal


Chacal

Chacal

Curtidas 0

Respostas

Araujojunior

Araujojunior

14/07/2005

Paradox?????? :shock:

Usa um Sql :lol:

Agora a dúvida, eu em Sql Faria assim:

Select * from tb_produto where nr_estoque_minimo <= nr_estoque_atual :roll:


GOSTEI 0
Silviogs

Silviogs

14/07/2005

Olá amigo

geralmente deve-se informar quando o estoque atual é menor ou igual ao mínimo na hora do pedido de venda, também pode imprimir ou visualizar quando isto ocorrer. A resposta do nosso amigo acima é a mais adequada para relatórios ou visualizações, para um determindo produto passe um parametro do codigo do produto.

Select * from tb_produto where Id_produto=:codproduto and nr_estoque_minimo <= nr_estoque_atual

Atenciosamente

Silvio Guedes


GOSTEI 0
Chacal

Chacal

14/07/2005

araujojunior, do jeito que você falo eu já tinha feito mais não deu certo.

E também tentei do jeito que o silviogs mais acontece a mesma coisa.

Quando eu vou no SQL e coloco esse código.

Select * from tb_produto where Id_produto=:codproduto and nr_estoque_minimo <= nr_estoque_atual

Eu não consigo ver os registros no DBGrid, então o aviso que informa que o estoque_atual é <= estoque_minimo é sempre ativado na inicialização do sistema.

E quando eu faço assim Select * from controleproducao, eu consigo visualizar os registros, ai o aviso só aparece se o primeiro registro estiver com estoque_atual for <= a estoque_minimo.

Esse sistema não tem controle de vendas não, é mais para visualização mesmo.
A entrada e baixa no estoque vão ser feito manualmente.


GOSTEI 0
Rjun

Rjun

14/07/2005

Coloque o código SQL na sua query.

Select * from tb_produto where nr_estoque_minimo <= nr_estoque_atual


No seu código, faça o seguinte:

Query1.Open;
try
  if not Query.IsEmpty then
    frmestoquezerado.ShowModal; 
finally
  Query1.Close;
end;   



GOSTEI 0
Leonardo Age

Leonardo Age

14/07/2005

Acho o que o amigo está querendo é que a qualquer hora o sistema informa se o estoque está abaixo o valor mínimo. Para isso vc pode usar um Timer para de tempo em tempo consultar a tabela verificando de existe algum produto abaixo do estoque mínimo. Podendo usar até mesmo o código SQL sugerido pelo colega Rjun. Assim a rotina de verificação não será relacionada a nenhuma outra rotina do sistema.


GOSTEI 0
Rjun

Rjun

14/07/2005

O complicado é a gente tentar adivinhar se deu certo ou não, ja que tem algumas pessoas que não dão o feedback para sabermos se o problema foi resolvido ou não.


GOSTEI 0
POSTAR