• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

progster

Access 2003 [Resolvido]

11 mensagens neste tópico

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

    Ok, Coloca o topico como [RESOLVIDO], se fizeres favor, e utiliza as tag's code code=sql e /code, para colorir o código.

Cordiais cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Peço Desculpa pela ignorância, mas como é que eu faço isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora