MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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

    Gravar valor em uma variável no VBA

    avatar
    RegisBorda
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    Gravar valor em uma variável no VBA Empty Gravar valor em uma variável no VBA

    Mensagem  RegisBorda 15/7/2022, 17:52

    Prezados,

    Boa tarde, estou com uma dúvida em como gravar um valor em uma variável no VBA

    Estou com a seguinte situação:

    Estou dando entrada no Estoque na QTD de compra de um produto e no CUSTO deste mesmo produto na TbMidias_Estoque campos (SaldoAtual e CustoMidia)

    Atualmente os campos estão : CodMidiaCertif = 8; SaldoAtual = 9; CustoMidia = 12,50

    Conforme código abaixo :

    Código:
    Dim CurSaldoPeca As Currency
    Dim rstSaldoPeca As DAO.Recordset
    Dim strCriteria As String
    Dim intResp As String
    Dim CurCustoPeca As Currency
    Dim CurCustoPecaAnterior As Variant

      MsgBox "A Mídia " & Me.Midia & " selecionada será ADICIONADA no Estoque !!!", vbCritical, "Atenção !!!"
      intResp = MsgBox("Confirma a ADIÇÃO no Estoque ?", vbYesNo, "Atenção !!!")
      Select Case intResp
      Case vbYes
         Set rstSaldoPeca = CurrentDb.OpenRecordset("TbMidias_Estoque")
         CurSaldoPeca = DLookup("[SaldoAtual]", "TbMidias_Estoque", "[CodMidiaCertif]=" & Me.CodMidiaCertif)
         strCriteria = "[CodMidiaCertif]=" & Me.CodMidiaCertif
         rstSaldoPeca.FindFirst strCriteria
       
         CurSaldoPeca = CurSaldoPeca + Me.QtdMidia
       
         rstSaldoPeca.Edit
         rstSaldoPeca!SaldoAtual = CurSaldoPeca
         rstSaldoPeca.Update
     
         Set rstSaldoPeca = CurrentDb.OpenRecordset("TbMidias_Estoque")
         CurCustoPeca = DLookup("[CustoUnit]", "TbMidias_Estoque", "[CodMidiaCertif]=" & Me.CodMidiaCertif)
         strCriteria = "[CodMidiaCertif]=" & Me.CodMidiaCertif
         rstSaldoPeca.FindFirst strCriteria
       
         CurCustoPecaAnterior = CurCustoPeca
         CurCustoPeca = Me.CustoMidia
         
         rstSaldoPeca.Edit
         rstSaldoPeca!CustoUnit = CurCustoPeca
         rstSaldoPeca.Update
     
      Case vbNo
         MsgBox "A ADIÇÃO no Estoque foi Cancelada !!!", vbInformation, "Atenção !!!"
         DoCmd.CancelEvent
      End Select

    End Sub

    Após o lançamento da entrada (CodMidiaCertif = 8; QtdMidia = 1; CustoMidia = 15,25)

    os campos na tabela de Estoque ficam :

    CodMidiaCertif = 8; SaldoAtual = 10; CustoMidia = 15,25

    Tudo Ok até aí.

    Porém, se eu excluir esse lançamento (CodMidiaCertif = 8; QtdMidia = 1; CustoMidia = 15,25)

    Eu tenho que voltar aos valores anteriores (Saldo = 9 e o CustoMidia = 12,50)

    O Saldo eu consigo voltar ao anterior pois é apenas subtrair, o problema é que eu não estou conseguindo guardar o Valor anterior do Custo de 12,50 para gravar na tabela de Estoque.

    Eu estou tentando gravar na variavel "CurCustoPecaAnterior" mais não está guardando.

    Como eu poderia restaurar o valor do custo anterior, ou seja, antes do lançamento.

    Muito Grato,

    Abs,

    Fiquem com DEUS

    Regis Borda

      Data/hora atual: 24/9/2022, 21:45