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]Erro comando CurrentDb.Execute

    Compartilhe

    lesniovski
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 04/10/2012

    [Resolvido]Erro comando CurrentDb.Execute

    Mensagem  lesniovski em 21/12/2017, 19:45

    Boa tarde a todos

    Tenho um Formulario com um Subformulario.

    No Subformulario, tenho um botão que executa o seguinte código VBA:

    Código:

    Private Sub BCalcular_Click()

    Me.ValorMedido = Me.ValorHora * Me.HorasTrabalhadas
    Me.CalcSaldo = Me.SaldoProjeto - Me.ValorMedido

    If Me.Calculado = -1 Then

    MsgBox "Este valor já foi calculado, caso queira realizar correções, desbloquear primeiro", vbCritical, "AVISO!"

    ElseIf MsgBox("O Valor de " & Me.ValorMedido & " será subtraido do Centro de Custo " & Me.CodCentroCusto.Column(1) & " do Projeto " & Me.CodProjeto.Column(1) & " / " & Me.CodProjeto.Column(2) & ", deseja prosseguir? ", vbYesNo, "Salvar Registro?") = vbYes Then
       CurrentDb.Execute " UPDATE TbDistCentroCusto SET Saldo = " & Me.CalcSaldo & " WHERE CodCentroCusto = " & Me.CodCentroCusto & " AND CodProjetoObra = " & Me.CodProjeto & ";"
       Me.Calculado = -1
       Me.SaldoProjeto.Requery
    End If


    End Sub

    A instrução do CurrentDb.Execute (Comando UPDATE), ocorre perfeitamente no primeiro registro do Subformulário, e com o Colaborador Luiz Fernando Zocco em todos os registros.

    Porém do Segundo registro em diante (nos demais Colaboradores), apresenta o erro "Erro em tempo de Execução '3144'; Erro de sintaxe na instrução UPDATE.

    Alguem já passou por isso?

    Segue o BD em anexo para analise (Access 2016), o Formulário que contém essa instrução é o FormMedicao, no SubFormMedicaoColab.

    Agradeço desde já.

    Marcio Lisandro
    Anexos
    Medicao e CC.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (132 Kb) Baixado 3 vez(es)


    Última edição por lesniovski em 8/10/2018, 21:42, editado 1 vez(es)
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1237
    Registrado : 05/02/2010

    Erro comando CurrentDb.Execute

    Mensagem  good guy em 21/12/2017, 19:58

    Olá lesniovski,

    Verifique com um tratamento de erro:
    Código:


    Private Sub BCalcular_Click()
    On Error Resume Next
    Me.ValorMedido = Me.ValorHora * Me.HorasTrabalhadas
    Me.CalcSaldo = Me.SaldoProjeto - Me.ValorMedido

    If Me.Calculado = -1 Then

    MsgBox "Este valor já foi calculado, caso queira realizar correções, desbloquear primeiro", vbCritical, "AVISO!"

    ElseIf MsgBox("O Valor de " & Me.ValorMedido & " será subtraido do Centro de Custo " & Me.CodCentroCusto.Column(1) & " do Projeto " & Me.CodProjeto.Column(1) & " / " & Me.CodProjeto.Column(2) & ", deseja prosseguir? ", vbYesNo, "Salvar Registro?") = vbYes Then
      CurrentDb.Execute "UPDATE TbDistCentroCusto SET Saldo = " & Me.CalcSaldo & " WHERE CodCentroCusto = " & Me.CodCentroCusto & " AND CodProjetoObra = " & Me.CodProjeto & ";"
      Me.Calculado = -1
      Me.SaldoProjeto.Requery
    End If


    End Sub

    lesniovski
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 04/10/2012

    Re: [Resolvido]Erro comando CurrentDb.Execute

    Mensagem  lesniovski em 21/12/2017, 21:58

    Primeiro Obrigado pela rápida resposta Good Guy!

    Aplicando a expressão de tratamento de erro "On Error Resume Next", não apresenta o erro, porém o comando:

    CurrentDb.Execute "UPDATE TbDistCentroCusto SET Saldo = " & Me.CalcSaldo & " WHERE CodCentroCusto = " & Me.CodCentroCusto & " AND CodProjetoObra = " & Me.CodProjeto & ";"

    Não é executado!

    Alguma outra idéia?

    lesniovski
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 04/10/2012

    Re: [Resolvido]Erro comando CurrentDb.Execute

    Mensagem  lesniovski em 22/12/2017, 01:45

    Pessoal, acredito que resolvi o meu problema.

    Com a dica desse Link

    Obrigado a todos!
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Erro comando CurrentDb.Execute

    Mensagem  Alexandre Neves em 7/1/2018, 14:40

    Boa tarde,
    Se resolveu, marque o Resolvido


    .................................................................................
    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: 21/11/2018, 12:30