Boa tarde colegas.
Então, estou finalizando o Bd e deparei com um problema que não consigo resolver.
Pesquisei no forum e em outros e nada.
Imagem do form: http://ge.tt/5o8wLbm2
São tabelas vinculadas.
No form. em destaque, o código está no campo Quant (QuantCons)
o codigo que dá o erro e este:
Private Sub QuantCons_AfterUpdate()
CurrentDb.Execute "update tbl_Produto set Estoque=Estoque - " & Me.QuantCons.Value & " where IdProd=" & cbProduto.Column(0)
Me.Refresh
End Sub
e no botãoSalvar
Private Sub Btn_Salvar_Click()
If Me.salvar.Value = True Then
MsgBox "Este lançamento já foi salvo!", vbExclamation, "Atenção"
Exit Sub
End If
If Me.Dirty = True Or intDirty = True Then
If MsgBox("Deseja salvar registro no sistema ?", vbYesNo + vbInformation, "Confirmação") = vbYes Then
Me.salvar.Value = True
intDirty = False
DoCmd.GoToRecord , "", acNewRec
Exit Sub
Else
'se não quer salvar, abre recordset á tabela detalheentrada
Dim rs As DAO.Recordset
Dim db As Database
Dim sSQL As String
Dim sValue As String
sSQL = "SELECT * FROM Tbl_ConsumoDetalhe WHERE IdConsumo=" & Me.IdConsumo.Value
Set db = CurrentDb
Set rs = db.OpenRecordset(sSQL)
If rs.EOF Then Exit Sub
rs.MoveFirst
'atualiza o estoque na tabela produtos
Do Until rs.EOF
CurrentDb.Execute "update tbl_produto set Estoque=Estoque - " & rs("QuantCons") & " where IdProd= " & rs("Idprod")
rs.MoveNext
Loop
rs.MoveFirst
'deleta o detalhe em primeiro
Do Until rs.EOF
rs.Delete
rs.MoveNext
Loop
rs.Close
'deleta o cabeçalho
CurrentDb.Execute "delete * from tbl_Consumo where IdConsumo=" & Me.IdConsumo.Value
DoCmd.GoToRecord , "", acNewRec
Exit Sub
End If
End If
End Sub
Então, estou finalizando o Bd e deparei com um problema que não consigo resolver.
Pesquisei no forum e em outros e nada.
Imagem do form: http://ge.tt/5o8wLbm2
São tabelas vinculadas.
No form. em destaque, o código está no campo Quant (QuantCons)
o codigo que dá o erro e este:
Private Sub QuantCons_AfterUpdate()
CurrentDb.Execute "update tbl_Produto set Estoque=Estoque - " & Me.QuantCons.Value & " where IdProd=" & cbProduto.Column(0)
Me.Refresh
End Sub
e no botãoSalvar
Private Sub Btn_Salvar_Click()
If Me.salvar.Value = True Then
MsgBox "Este lançamento já foi salvo!", vbExclamation, "Atenção"
Exit Sub
End If
If Me.Dirty = True Or intDirty = True Then
If MsgBox("Deseja salvar registro no sistema ?", vbYesNo + vbInformation, "Confirmação") = vbYes Then
Me.salvar.Value = True
intDirty = False
DoCmd.GoToRecord , "", acNewRec
Exit Sub
Else
'se não quer salvar, abre recordset á tabela detalheentrada
Dim rs As DAO.Recordset
Dim db As Database
Dim sSQL As String
Dim sValue As String
sSQL = "SELECT * FROM Tbl_ConsumoDetalhe WHERE IdConsumo=" & Me.IdConsumo.Value
Set db = CurrentDb
Set rs = db.OpenRecordset(sSQL)
If rs.EOF Then Exit Sub
rs.MoveFirst
'atualiza o estoque na tabela produtos
Do Until rs.EOF
CurrentDb.Execute "update tbl_produto set Estoque=Estoque - " & rs("QuantCons") & " where IdProd= " & rs("Idprod")
rs.MoveNext
Loop
rs.MoveFirst
'deleta o detalhe em primeiro
Do Until rs.EOF
rs.Delete
rs.MoveNext
Loop
rs.Close
'deleta o cabeçalho
CurrentDb.Execute "delete * from tbl_Consumo where IdConsumo=" & Me.IdConsumo.Value
DoCmd.GoToRecord , "", acNewRec
Exit Sub
End If
End If
End Sub