Bom dia
Tenho um formulário onde o Usuário entrara com uma quantidade de produto, e esta quantidade substituirá a quantidade no estoque, Quanta a entrada via NF de compra e a siada por vendas sera outro Código, mas pelo que posso ver este código também serve para Entrada e saída como dito anteriormente, este código eu peguei neste fórum
Se Alguém puder me ajudar eu agradeço.
Tenho um formulário onde o Usuário entrara com uma quantidade de produto, e esta quantidade substituirá a quantidade no estoque, Quanta a entrada via NF de compra e a siada por vendas sera outro Código, mas pelo que posso ver este código também serve para Entrada e saída como dito anteriormente, este código eu peguei neste fórum
- Código:
On Error Resume Next
'Se for verdadeiro, pergunta ao usuário se ele deseja atualizar a quantidade do produto no estoque.
If MsgBox("Deseja atualizar a quantidade deste produto no estoque?", vbYesNo, "Aviso") = vbYes Then
'Se o usuário não entrar com um valor ou se o valor for o (zero), o Sistema emite uma mensagem.
If IsNull(Me.TxtSaida) Or Me.TxtSaida = 0 Then
MsgBox "Informe a quantidade de vendida no estoque!", vbCritical + vbOKOnly, "Atenção!"
Me.TxtSaida.SetFocus
Exit Sub
End If
'Declara nova variável (cnn) de conexão pelo sistema ADO
Dim cnn As New ADODB.Connection
'Declara variável rs1 para os registros
Dim rs1 As ADODB.Recordset
Dim rs2 As ADODB.Recordset
'Abre a conexão com o banco
Set cnn = CurrentProject.Connection
'Abre a conexão com o registro
Set rs1 = New ADODB.Recordset
rs1.CursorType = adOpenKeyset
rs1.LockType = adLockOptimistic
'Abre a Tabela_Produtos
rs1.Open "TblProduto", cnn, , , adCmdTable
'Procura e compara código do produto entre as tabelas Produtos e a tabela de itens.
rs1.Find "Produto_Nome=" & Me.TxtNome, 0, adSearchForward, 1
If Not rs1.EOF Then
'Diminui a quantidade de itens que saiu naquele momento ao estoque. (Compra)
rs1("Produto_Estoque") = rs1("Produto_Estoque") - Me.TxtSaida
rs2("Produto_Valor") = Me.TxtValor
'Verifica se o estoque é menor do que 0 (zero)
If rs1("Produto_Estoque") < 0 Then
'Se for, emite mensagem ao usuário
MsgBox "Quantidade não disponível. Saldo atual em estoque de " & rs1("Produto_Estoque") + Me.TxtSaida & " produtos", vbCritical, "Atenção!"
Cancel = True
Me.TxtSaida = Null
Me.TxtSaida.SetFocus
Else
'Verifica se o estoque atual é menor do que o estoque mímino
If rs1("Produto_Estoque") < rs1("Produto_Nivel") Then
' Se for, emite mensagem avisando ao usuário que deve pedir deste produto ao fornecedor
MsgBox "Estoque atual abaixo do estoque mínimo. Pedir no mínimo " & rs1("Produto_Nivel") - rs1("Estoque") & " produtos(s)", vbExclamation, "Atenção!"
'Atualiza a tabela de estoques
Cancel = True
Me.TxtSaida = Null
Me.TxtSaida.SetFocus
Else
rs1.Update
'Emite uma mensagem informando a quantidade atual no estoque.
MsgBox "Quantidade atual disponível de " & rs1("Produto_Estoque") & " produtos", vbExclamation, "Atenção!"
Me.TxtSaida = Null
Me.TxtSaida.SetFocus
End If
End If
End If
'Fecha a conexão com o banco
Set cnn = Nothing
'Fecha a conexão com o registro
Set rs1 = Nothing
Else
End If
End Sub
Se Alguém puder me ajudar eu agradeço.