Bom dia senhores!
Estou com a seguinte situação:
Tenho um form de vendas, no qual, após inserir, alterar ou deletar um registro de produto, tais mudanças são repassadas para uma tabela de movimentação, a partir da qual estou tentando fazer um controle de estoque.
Já consegui fazer funcionar os três tipos de comandos, porém não sei por que cargas d'água a função de update parou de funcionar. Dá erro de sintaxe.
Já refiz o comando, olhei todos os campos da tabela de movimentação e do form de venda, todos os nomes estão certos.
Talvez tenha alguma relação com um erro que aparece ao abrir a tabela movimentação, mas não sei.
Segue o comando update, no evento após atualizar do subform de vendas:
Segue prints...
Imagem 1 - Erro ao abrir tabela movimentacao:
Imagem 2 - Estrutura tabela movimentacao:
Imagem 3 - Form e subform de vendas:
São os campos que destaquei em vermelho que estou utilizando para os 3 comandos de dados (insert, update e delete)
Outro problema que está me matando é o seguinte...
No evento "após inserir", também do subform de vendas, coloquei um código para atualizar a quantidade de estoque na tabela produtos.
Segue o código:
Pórem, quando insiro uma linha na venda, dá o seguinte erro:
"Erro em tempo de execução '2465':
O Microsoft Access não pode localizar o campo '|1' referido na sua expressão.
O código acima faz referência ao domínio Mov_Aux, que é uma união com a seguinte sintaxe:
Estou com a seguinte situação:
Tenho um form de vendas, no qual, após inserir, alterar ou deletar um registro de produto, tais mudanças são repassadas para uma tabela de movimentação, a partir da qual estou tentando fazer um controle de estoque.
Já consegui fazer funcionar os três tipos de comandos, porém não sei por que cargas d'água a função de update parou de funcionar. Dá erro de sintaxe.
Já refiz o comando, olhei todos os campos da tabela de movimentação e do form de venda, todos os nomes estão certos.
Talvez tenha alguma relação com um erro que aparece ao abrir a tabela movimentação, mas não sei.
Segue o comando update, no evento após atualizar do subform de vendas:
- Código:
DoCmd.RunSQL "UPDATE Movimentacao SET Qtd = " & Me.Qtd_Item & " WHERE Cod_Venda = " & Me.IDVenda & " AND Cod_Produto = " & Me.Cod_Produto
Segue prints...
Imagem 1 - Erro ao abrir tabela movimentacao:
Imagem 2 - Estrutura tabela movimentacao:
Imagem 3 - Form e subform de vendas:
São os campos que destaquei em vermelho que estou utilizando para os 3 comandos de dados (insert, update e delete)
Outro problema que está me matando é o seguinte...
No evento "após inserir", também do subform de vendas, coloquei um código para atualizar a quantidade de estoque na tabela produtos.
Segue o código:
- Código:
Dim EstoqueEntrada As Double
EstoqueEntrada = DSum([Qtd], Mov_Aux, [Cod_Prod] = " & Me.Cod_Produto & " And [Tipo_Mov] = 2)
Dim EstoqueSaida As Double
EstoqueSaida = DSum([Qtd], Mov_Aux, [Cod_Prod] = " &Me.Cod_Produto & " And [Tipo_Mov] = 1)
Dim SaldoEstoque As Double
SaldoEstoque = EstoqueEntrada - EstoqueSaida
Dim AtualizaEstoque As String
AtualizaEstoque = "UPDATE Produto SET Estoque_Atual = " & SaldoEstoque & " WHERE Cod_Produto = " & Me.Cod_Produto
DoCmd.RunSQL AtualizaEstoque
Pórem, quando insiro uma linha na venda, dá o seguinte erro:
"Erro em tempo de execução '2465':
O Microsoft Access não pode localizar o campo '|1' referido na sua expressão.
O código acima faz referência ao domínio Mov_Aux, que é uma união com a seguinte sintaxe:
- Código:
SELECT Prod_Entrada AS Cod_Prod, Tipo_Movimento AS Tipo_Mov, Qtd_Entrada AS Qtd, Cod_Movimentacao FROM Mov_Entrada
UNION SELECT * FROM Mov_Saida;