Jump to content

Access 2003 [Resolvido]


progster

Recommended Posts

Bom Dia.

Estou a desenvolver uma BD em access 2003 e tenho um problema: Preciso que ao guardar um novo registo numa tabela, num formulário vba, no botão Guardar Dados automaticamente o access actualize outra tabela.

Será que me podem ajudar?

Agradeço desde já qualquer ajuda que me possam dar.

Não resolvo dúvidas por PM.

Link to comment
Share on other sites

No botão tens de colocar o codigo:

tuaform.Refresh
tuaform.Requery

Isto depois do codigo da gravação dos dados na tabela. Partindo do principio que tens o codigo de gravação de registo já feito.

Também já me deparei com esse problema mas era numa aplicação que corria em rede, os registos após gravação não ficavam disponiveis. A forma como resolvi foi com o Refresh e o Requery no codigo.

Espero que ajude.

Cumprimentos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other sites

Boa Tarde.

Experimentei o código, mas não deu, talvez não me tenha explicado bem. Eu quero é que numa tabela de Saida de Produtos, ao registar (Guardar) uma nova saida de produto, automaticamente decremente o valor da quantidade desse mesmo produto numa tabela de stock.

Cumprimentos.

Não resolvo dúvidas por PM.

Link to comment
Share on other sites

    Ok agora que percebi o que realmente queres, penso que a solução seja fazeres uma query, que execute um update ao campo "stock" na tabela de produtos, em que o campo stock passa a ter o valor do stock decrementado do valor saido.

tipo

Update stock set stock.quantidade = (stock.quantidade - saida.quantidade) WHERE stock.produto = saida.produto

    Espero que isto de ajude.

Cordiais cumprimentos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other sites

Obrigado. Funcionou. Só tive que fazer mais umas alterações na Vista de estrutura da query, incluindo escolher o tipo de consulta actualizar.

O código SQL ficou:

UPDATE Produtos SET Produtos.Quantidade = (Produtos.quantidade-Saidas.quantidade)

WHERE (((Produtos.Id_Produto)=[saidas].[id_produto]));

,ou seja, pelo código alterior, alterava todas as linhas da tabela Produtos. Deste modo ao executar a consulta actualiza só a linha do respectivo id_produto.

Não resolvo dúvidas por PM.

Link to comment
Share on other sites

    Para colocar como resolvido editas o titulo do topico e escreves à frente [RESOLVIDO] .

    Para colorir o codigo vê este tópico, tens lá instruções: http://www.portugal-a-programar.pt/index.php?showtopic=6931

Cordiais cumprimentos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.