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


2 participantes

    [Resolvido]Consulta UPDATE com VBA

    avatar
    dicksonpessoa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 09/11/2011

    [Resolvido]Consulta UPDATE com VBA Empty [Resolvido]Consulta UPDATE com VBA

    Mensagem  dicksonpessoa 31/3/2016, 18:51

    Por favor, estou precisando de ajuda com esta consulta:

    Private Sub Form_Close()
    Dim value As String
    Dim name As String

    value = Me.valor_atual
    name = Me.NOME

    DoCmd.RunSQL "UPDATE pessoal SET salario_base = value WHERE nome = name"



    End Sub

    Não consigo fazer funcionar e não sei resolver o problema
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta UPDATE com VBA Empty Re: [Resolvido]Consulta UPDATE com VBA

    Mensagem  FabioPaes 31/3/2016, 19:32

    Tente rodar Direto assim:

    CurrentDB.Execute "UPDATE pessoal SET salario_base = '" & Me.valor_atual & "' WHERE nome = '" & Me.NOME & "' "


    Se: O valor do Campo Valor_Atual do formulario for Diferente de NUMEROS fica como está ( ' "  ...  " ') agora se For Numeros fica somente entre Aspas ( "  ...  ").

    Se não der certo posta aqui o BD...


    Seu Problema esta aqui:

    DoCmd.RunSQL "UPDATE pessoal SET salario_base = value WHERE nome = name"


    Devendo ficar assim (caso queira fazer com Variaveis):

    Código:

    Private Sub Form_Close()
    Dim value As String
    Dim name As String

    value = Me.valor_atual
    name = Me.NOME

    DoCmd.RunSQL "UPDATE pessoal SET salario_base = ' " & value & " ' WHERE nome = ' " & name & " ' "

    End Sub

    Obs: Recomendo mudar os Nomes dessa Variáveis caso opte por utilizar Variáveis... Pois poderá haver problemas já que: .Value se refere ao Valor de um Campo...
    avatar
    dicksonpessoa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 09/11/2011

    [Resolvido]Consulta UPDATE com VBA Empty Consulta UPDATE com VBA

    Mensagem  dicksonpessoa 1/4/2016, 15:47

    Funcionou não.... não atualizou a tabela pessoal.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta UPDATE com VBA Empty Re: [Resolvido]Consulta UPDATE com VBA

    Mensagem  FabioPaes 1/4/2016, 16:34

    Por favor, poste seu BD que dou uma Olhada! pois testei aqui e foi certinho!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta UPDATE com VBA Empty Re: [Resolvido]Consulta UPDATE com VBA

    Mensagem  FabioPaes 2/4/2016, 04:11

    Um pequeno exemplo bem próximo do que vc esta tentando fazer...
    Anexos
    [Resolvido]Consulta UPDATE com VBA AttachmentBDTeste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (27 Kb) Baixado 25 vez(es)
    avatar
    dicksonpessoa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 09/11/2011

    [Resolvido]Consulta UPDATE com VBA Empty Resolvido

    Mensagem  dicksonpessoa 6/4/2016, 18:23

    Após inúmeras tentativas e ajuda dos colegas consegui o que queria de uma forma diferente da proposta inicial deste post.
    Passei a utilizar uma consulta e mostrar somente seu resultado no formulário, não mais sendo necessário guardar o valor em um outra tabela.
    Ficou assim:

    Private Sub Form_Current()
    TEMP = DLookup("Atual", "SALARIO Consulta Atual")
    Me.salario_base = TEMP
    End Sub

    Agradeço a todos pela ajuda concedida e até a próxima!
    avatar
    dicksonpessoa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 09/11/2011

    [Resolvido]Consulta UPDATE com VBA Empty Melhoria na resolução

    Mensagem  dicksonpessoa 6/4/2016, 20:47

    Seguindo os conselhos do nobre moderador fiz o seguinte:

    Private Sub tipo_alteracao_AfterUpdate()

    Dim NovoValor As String
    Dim idpes As String

    TEMP = DLookup("Atual", "SALARIO Consulta Atual")
    NovoValor = TEMP
    idpes = Me.nome
    DoCmd.SetWarnings False
    DoCmd.RunSQL "UPDATE PESSOAL SET salario_base =" & NovoValor & " WHERE idpessoal =" & idpes & ""
    DoCmd.SetWarnings True



    End Sub

    Agora Funcionou tudo redondo, além de atualizar o formulário como tinha postado acima, atualiza a base com o valor atual.

    Show de bola!!!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta UPDATE com VBA Empty Re: [Resolvido]Consulta UPDATE com VBA

    Mensagem  FabioPaes 6/4/2016, 21:43

    Bacana! que bom que chegou ao resultado esperado! Até a próxima!

    Conteúdo patrocinado


    [Resolvido]Consulta UPDATE com VBA Empty Re: [Resolvido]Consulta UPDATE com VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 06:27