MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Alterar valor de um campo

    avatar
    RegisBorda
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 07/02/2014

    Alterar valor de um campo Empty Alterar valor de um campo

    Mensagem  RegisBorda em 27/6/2020, 17:52

    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
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7644
    Registrado : 05/11/2009

    Alterar valor de um campo Empty Re: Alterar valor de um campo

    Mensagem  Alexandre Neves em 28/6/2020, 18:05

    Boa tarde
    Experimente
    Me.MovEstMP.Value = True


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: 5/7/2020, 20:28