Ajuda em Access - Bases de Dados - Portugal-a-Programar
Ajuda em Access
Por silvajq, 15 de Outubro de 2009 em Bases de Dados
silvajq 0
Olá pessoal, não sei se esta a seccção correcta para este post, mas estou com uma dificuladade na cração da minha base de dados "gestão de stock".
Quando quero inserir ou retirar uma qtd de um produto, pretendo guardar essa operação ou movimento numa tabela historico de entradas ou saidas, e actualizar o campo quantidade na tabela do produto.
Para o histórico podes tentar usar um Trigger (não sei se o Access suporta...).
As entradas ou saídas(movimentos) do stock ficam guardadas numa tabela, certo?
Então para cada registo adicionado/alterado nessa tabela, deverá o registo de produto sofrer a alteração necessária, ou actualizar o seu valor em relação a todas as entradas e saídas, referentes a esse produto.
Convem criar uma relação entre a tabela dos produtos e a tabela dos movimentos, tipo um-para-muitos.
A actualização pode ser feita de vários modos, dependendo do método usado para inserir ou actualizar o movimento.
Boas. Também já me surgiu essa situação. O que tens a fazer é o seguinte. Crias uma consulta com os dados da tabela de stocks. Na vista de estrutura mudas para a vista em SQL, apagas o que lá está e inseres o código:
UPDATE stocks SET stocks.quantidade = (stocks.quantidade-saidas.quantidade)
WHERE (((stocks.Id_Produto)=[saidas].[id_produto]));
Não te esqueças que o tens de adaptar á tua situação.
Ou seja, pelo código anterior, a BD é actualizada na tabela stocks, mas só a linha do respectivo Id_Produto que sai de stocks, podendo fazer o registo de cada saída de material em stock. Para as entradas é igual, tens é que adaptar.