Prezados,
Utilizo o Access 2016.
Tenho um botão, por ITEM que atualiza Estoques, Preços e Validade e também atualiza um flag "MovEstMP" cujo o default é ZERO trocando para -1.
Esta troca impossibilita que o estoque seja atualizado mais de uma vez.
Porém, o código dá ERRO na linha a seguir : "Erro em tempo de execução 7878 os dados foram alterados.
Me.MovEstMP.value = -1 <==== ERRO
O código faz todas as atualizações para na linha acima.
Não sei como acertar isso, já tentei de várias formas e o ERRO permanece o mesmo.
Segue o código completo :
Private Sub Adição_Item_Click()
Dim db As Database
Dim CurSaldoPA As Currency
Dim CurSaldoValidade As Date
Dim CurSaldoPreçoUnit As Currency
Dim rstSaldoPA As DAO.Recordset
Dim strCriteria As String
Dim rstMovPA As Recordset
Dim intResp As String
Dim rs As Recordset, rs1 As Recordset
Dim i As Byte
'Coloca o Lançamento da Nota na TbMov de Estoque PA'
MsgBox "O Item selecionado será dado como Recebido !!!", vbCritical, "Atenção !!!"
intResp = MsgBox("Confirma o recebimento do Ítem ?", vbYesNo, "Atenção !!!")
Select Case intResp
Case vbYes
'Coloca o Lançamento da Nota na TbMov de Estoque PA'
If Me.MovEstMP = 0 Then
'Coloca o Lançamento da Nota na TbMov de Estoque PA'
Set db = CurrentDb()
Set rstMovPA = db.OpenRecordset("MovEstoque_ItensDiv")
rstMovPA.AddNew
rstMovPA("CodItem") = Me.CodItem
rstMovPA("NomeItem") = Me.Descricao
rstMovPA("TipoItem") = Me.TipoItem
rstMovPA("NumDoc") = "ENT_" & Me.CodItem
rstMovPA("NumNF") = "ENT_" & Me.CodItem
rstMovPA("DataMov") = Me.DtReceb
rstMovPA("TipMov") = "ENTRADA"
rstMovPA("Qtd") = Me.Qtd
rstMovPA("UnidMed") = "UN"
rstMovPA("Fornec") = Me.Fornecedor
rstMovPA("SetorSolicitante") = "Farmácia"
rstMovPA.Update
rstMovPA.Close
Set rstSaldoPA = CurrentDb.OpenRecordset("TbItensDiversos")
CurSaldoPA = DLookup("[Saldo]", "TbItensDiversos", "[CodItem]=" & [CodItem])
strCriteria = "[CodItem] =" & Me.CodItem
rstSaldoPA.FindFirst strCriteria
'Calcula o SaldoCliente depois dos Lanc do Recibo'
CurSaldoPA = CurSaldoPA + Me.Qtd
'Atualiza o Saldo do Cliente na Tabela Cliente'
rstSaldoPA.Edit
rstSaldoPA!Saldo = CurSaldoPA
rstSaldoPA.Update
Set rstSaldoPA = CurrentDb.OpenRecordset("TbItensDiversos")
CurSaldoValidade = DLookup("[Validade]", "TbItensDiversos", "[CodItem]=" & [CodItem])
strCriteria = "[CodItem] =" & Me.CodItem
rstSaldoPA.FindFirst strCriteria
'Calcula o SaldoCliente depois dos Lanc do Recibo'
CurSaldoValidade = Me.Validade
'Atualiza a Validade do Cliente na Tabela Cliente'
rstSaldoPA.Edit
rstSaldoPA!Validade = CurSaldoValidade
rstSaldoPA.Update
Set rstSaldoPA = CurrentDb.OpenRecordset("TbItensDiversos")
CurSaldoPreçoUnit = DLookup("[PreçoUnit]", "TbItensDiversos", "[CodItem]=" & [CodItem])
strCriteria = "[CodItem] =" & Me.CodItem
rstSaldoPA.FindFirst strCriteria
'Calcula o SaldoCliente depois dos Lanc do Recibo'
CurSaldoPreçoUnit = Me.PrUnit
'Atualiza a Validade do Cliente na Tabela Cliente'
rstSaldoPA.Edit
rstSaldoPA!PreçoUnit = CurSaldoPreçoUnit
rstSaldoPA.Update
'Calcula o SaldoCliente depois dos Lanc do Recibo'
Me.MovEstMP.Value = -1 <====== ERRO
Else
MsgBox "Comando inválido. Este Ítem já foi Recebido e adicionado ao Estoque !!!", vbInformation, "Atenção !!!"
DoCmd.CancelEvent
End If
Case vbNo
MsgBox "O Recebimento e a adição ao estoque do Ítem foi Cancelada !!!", vbInformation, "Atenção !!!"
DoCmd.CancelEvent
End Select
End Sub
Por gentileza, peço a ajuda dos senhores
Grato,
Regis Borda
Utilizo o Access 2016.
Tenho um botão, por ITEM que atualiza Estoques, Preços e Validade e também atualiza um flag "MovEstMP" cujo o default é ZERO trocando para -1.
Esta troca impossibilita que o estoque seja atualizado mais de uma vez.
Porém, o código dá ERRO na linha a seguir : "Erro em tempo de execução 7878 os dados foram alterados.
Me.MovEstMP.value = -1 <==== ERRO
O código faz todas as atualizações para na linha acima.
Não sei como acertar isso, já tentei de várias formas e o ERRO permanece o mesmo.
Segue o código completo :
Private Sub Adição_Item_Click()
Dim db As Database
Dim CurSaldoPA As Currency
Dim CurSaldoValidade As Date
Dim CurSaldoPreçoUnit As Currency
Dim rstSaldoPA As DAO.Recordset
Dim strCriteria As String
Dim rstMovPA As Recordset
Dim intResp As String
Dim rs As Recordset, rs1 As Recordset
Dim i As Byte
'Coloca o Lançamento da Nota na TbMov de Estoque PA'
MsgBox "O Item selecionado será dado como Recebido !!!", vbCritical, "Atenção !!!"
intResp = MsgBox("Confirma o recebimento do Ítem ?", vbYesNo, "Atenção !!!")
Select Case intResp
Case vbYes
'Coloca o Lançamento da Nota na TbMov de Estoque PA'
If Me.MovEstMP = 0 Then
'Coloca o Lançamento da Nota na TbMov de Estoque PA'
Set db = CurrentDb()
Set rstMovPA = db.OpenRecordset("MovEstoque_ItensDiv")
rstMovPA.AddNew
rstMovPA("CodItem") = Me.CodItem
rstMovPA("NomeItem") = Me.Descricao
rstMovPA("TipoItem") = Me.TipoItem
rstMovPA("NumDoc") = "ENT_" & Me.CodItem
rstMovPA("NumNF") = "ENT_" & Me.CodItem
rstMovPA("DataMov") = Me.DtReceb
rstMovPA("TipMov") = "ENTRADA"
rstMovPA("Qtd") = Me.Qtd
rstMovPA("UnidMed") = "UN"
rstMovPA("Fornec") = Me.Fornecedor
rstMovPA("SetorSolicitante") = "Farmácia"
rstMovPA.Update
rstMovPA.Close
Set rstSaldoPA = CurrentDb.OpenRecordset("TbItensDiversos")
CurSaldoPA = DLookup("[Saldo]", "TbItensDiversos", "[CodItem]=" & [CodItem])
strCriteria = "[CodItem] =" & Me.CodItem
rstSaldoPA.FindFirst strCriteria
'Calcula o SaldoCliente depois dos Lanc do Recibo'
CurSaldoPA = CurSaldoPA + Me.Qtd
'Atualiza o Saldo do Cliente na Tabela Cliente'
rstSaldoPA.Edit
rstSaldoPA!Saldo = CurSaldoPA
rstSaldoPA.Update
Set rstSaldoPA = CurrentDb.OpenRecordset("TbItensDiversos")
CurSaldoValidade = DLookup("[Validade]", "TbItensDiversos", "[CodItem]=" & [CodItem])
strCriteria = "[CodItem] =" & Me.CodItem
rstSaldoPA.FindFirst strCriteria
'Calcula o SaldoCliente depois dos Lanc do Recibo'
CurSaldoValidade = Me.Validade
'Atualiza a Validade do Cliente na Tabela Cliente'
rstSaldoPA.Edit
rstSaldoPA!Validade = CurSaldoValidade
rstSaldoPA.Update
Set rstSaldoPA = CurrentDb.OpenRecordset("TbItensDiversos")
CurSaldoPreçoUnit = DLookup("[PreçoUnit]", "TbItensDiversos", "[CodItem]=" & [CodItem])
strCriteria = "[CodItem] =" & Me.CodItem
rstSaldoPA.FindFirst strCriteria
'Calcula o SaldoCliente depois dos Lanc do Recibo'
CurSaldoPreçoUnit = Me.PrUnit
'Atualiza a Validade do Cliente na Tabela Cliente'
rstSaldoPA.Edit
rstSaldoPA!PreçoUnit = CurSaldoPreçoUnit
rstSaldoPA.Update
'Calcula o SaldoCliente depois dos Lanc do Recibo'
Me.MovEstMP.Value = -1 <====== ERRO
Else
MsgBox "Comando inválido. Este Ítem já foi Recebido e adicionado ao Estoque !!!", vbInformation, "Atenção !!!"
DoCmd.CancelEvent
End If
Case vbNo
MsgBox "O Recebimento e a adição ao estoque do Ítem foi Cancelada !!!", vbInformation, "Atenção !!!"
DoCmd.CancelEvent
End Select
End Sub
Por gentileza, peço a ajuda dos senhores
Grato,
Regis Borda