MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Modo exclusivo e assim não atualiza

    Compartilhe
    avatar
    cafpr
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 963
    Registrado : 08/02/2011

    [Resolvido]Modo exclusivo e assim não atualiza

    Mensagem  cafpr em 19/9/2017, 21:43

    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
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10171
    Registrado : 04/11/2009

    Re: [Resolvido]Modo exclusivo e assim não atualiza

    Mensagem  JPaulo em 20/9/2017, 10:10

    Ola;

    Teste por favor;

    Código:
    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
    'se o dirty for verdadeiro, libera as tabelas com o false
        If Me.Dirty = True Then
            Me.Dirty = False
        End If
    'se o intDirty for verdadeiro, libera as tabelas com o false
        If intDirty = True Then
            intDirty = False
        End If
    'monta o sql á tabela Tbl_ConsumoDetalhe
    sSQL = "SELECT * FROM Tbl_ConsumoDetalhe WHERE IdConsumo=" & Me.IdConsumo.Value
    Set db = CurrentDb
    Set rs = db.OpenRecordset(sSQL)

        If rs.EOF Then
        'se não tem registros, tem de fechar o recordset e limpar a memoria
            If Not (rs Is Nothing) Then
            rs.Close: Set rs = Nothing
            Set db = Nothing
        'morre aqui
            End If
        Exit Sub
        End If
    'se tem registros coloca-se no primeiro
        rs.MoveLast
        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
    'se o recordset estiver aberto, fecha-o e limpa a memoria
        If Not (rs Is Nothing) Then
            rs.Close: Set rs = Nothing
            Set db = Nothing
        End If
    '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


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    avatar
    cafpr
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 963
    Registrado : 08/02/2011

    Re: [Resolvido]Modo exclusivo e assim não atualiza

    Mensagem  cafpr em 20/9/2017, 12:57

    Bom dia JPaulo,

    Como de se esperar, eficiente.

    Funcionou.

    cheers
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10171
    Registrado : 04/11/2009

    Re: [Resolvido]Modo exclusivo e assim não atualiza

    Mensagem  JPaulo em 20/9/2017, 13:16

    Fico feliz, obrigado pelo retorno.

    Quando puder contribuir com o forum nos links abaixo, o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    avatar
    cafpr
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 963
    Registrado : 08/02/2011

    Re: [Resolvido]Modo exclusivo e assim não atualiza

    Mensagem  cafpr em 20/9/2017, 13:55

    Não possuo cartão de crédito/debito,

    Mas deve haver outra possibilidade.

    Irei ver e farei a contribuição

    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10171
    Registrado : 04/11/2009

    Re: [Resolvido]Modo exclusivo e assim não atualiza

    Mensagem  JPaulo em 20/9/2017, 14:19

    Agradecido.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

      Data/hora atual: 22/10/2018, 22:15