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]Erro de Sintaxe na Instrução UPDATE

    avatar
    geremias
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 14/03/2012

    [Resolvido]Erro de Sintaxe na Instrução UPDATE Empty [Resolvido]Erro de Sintaxe na Instrução UPDATE

    Mensagem  geremias 20/8/2021, 01:00

    Boa noite aos Colegas do Forum!

    Gostaria de uma ajuda com relação a atualizar registros em uma tabela utilizando a instrução UPDATE!

    Eu parti de um exemplo colocado aqui no forum e que funciona perfeitamente, porém ao ajustar para minhas necessidades (utilizando o mesmo formulário do exemplo), ajustando os nomes de campos da tabela e do formulário, funciona tudo perfeito. Somente na hora de atualizar um determinado registro selecionado, ao clicar no botão GRAVAR, da mensagem "Erro de Sintaxe na Instrução UPDATE.

    poderiam me ajudar a entender onde posso estar errando ou porquê pode estar apresentando esse erro?

    Esse é o Código que esta no exemplo que retirei aqui do forum (funcionando OK)

    Código:
    CurrentDb.Execute "Update tblProdutos Set DataCadastro = ('" & Me.txtDataCadastro & "'),Produto = ('" & Me.txtProduto & "'),Valor = ('" & Me.txtValor & "'),QtdEstoque = ('" & Me.txtQtdEstoque & "'),QtdEstoqueMin = ('" & Me.txtQtdEstoqueMin & "') Where CodProduto =" & Me.txtCodProduto
                            
                              MsgBox ("Produto Atualizado Com Sucesso!"), vbInformation, "Cadastro de Produtos"
                              LimpaCampos
                              DesabilitaCampos
                              BotaoOn
                              Me.btnNovo.SetFocus
                              Me.txtBuscar.Enabled = True


    Esse é o Código que esta no meu formulário de cadastro (não funciona, utilizei a mesma estrutura apenas acrescentando campos na tabela e alterando os nomes dos campos utilizados)

    Código:
    CurrentDb.Execute "Update TblCliente Set DataCadastro = ('" & Me.txtDataCadastro & "'), NomeCons = ('" & Me.txtNomeCli & "'), NascCli = ('" & Me.txtDataNasc & "'), SexCli = ('" & Me.CboSexo & "'), EmailCli = ('" & Me.txtEmail & "'), TelCli = ('" & Me.TxtCel & "'), ObsCli = ('" & Me.TxtObs & "'), ConCli = ('" & Me.TxtConc & "'), Where CodCli = " & Me.txtCodCli
                            
                              MsgBox ("Cadastro Atualizado Com Sucesso!"), vbInformation, "Cadastro de Clientes"
                              LimpaCampos
                              DesabilitaCampos
                              BotaoOn
                              Me.btnNovo.SetFocus
                              Me.txtBuscar.Enabled = True

    Espero ter conseguido explicar o que ocorre e agradeço qualquer ajuda que possam me dar.

    Gerson.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2594
    Registrado : 13/12/2016

    [Resolvido]Erro de Sintaxe na Instrução UPDATE Empty Re: [Resolvido]Erro de Sintaxe na Instrução UPDATE

    Mensagem  Alexandre Fim 20/8/2021, 01:46

    Olá,

    O erro está na virgula do último campo, antes da clausula WHERE. É só removê-la que vai funcionar.

    Aproveitando a oportunidade, procure "quebrar" as instruções SQL, concatenando o texto conforme abaixo:

    Código:


    Dim sSQL As String

            sSQL = ""
            sSQL = sSQL & " UPDATE TblCliente SET "
            sSQL = sSQL & "  DataCadastro = '" & Me.txtDataCadastro & "', "
            sSQL = sSQL & " ,NomeCons = '" & Replace(Trim(Me.txtNomeCli), "'", "") & "'"
            sSQL = sSQL & " ,NascCli = '" & Me.txtDataNasc & "'"
            sSQL = sSQL & " ,SexCli = '" & Trim(Me.CboSexo) & "'"
            sSQL = sSQL & " ,EmailCli = '" & Trim(Me.txtEmail) & "'"
            sSQL = sSQL & " ,TelCli = '" & Trim(Me.TxtCel) & "'"
            sSQL = sSQL & " ,ObsCli = '" & Trim(Me.txtObs) & "'"
            sSQL = sSQL & " ,ConCli = '" & Trim(Me.TxtConc) & "'"
            sSQL = sSQL & " WHERE CodCli = " & Me.txtCodCli
            CurrentDb.Execute sSQL
           
            MsgBox "Cadastro Atualizado Com Sucesso!", vbInformation, "Cadastro de Clientes"
            LimpaCampos
            DesabilitaCampos
            BotaoOn
            Me.btnNovo.SetFocus
            Me.txtBuscar.Enabled = True



    Também não esqueça de incluir as função Trim em campos textos, para não gravar espaços em branco antes e depois do texto.
    Também utilize a função REPLACE: Ela substitui um caracter pelo outro, conforme o exemplo. OBS: É necessário utilizá-la caso algum usuário digite ASPAS SIMPLES no texto. As Aspas Simples servem para separar strings em instruções SQL e pode gerar erro caso alguma estiver em algum texto.

    É isso

    Espero ter ajudado

    []'s

    FIM





    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Erro de Sintaxe na Instrução UPDATE Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    geremias
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 14/03/2012

    [Resolvido]Erro de Sintaxe na Instrução UPDATE Empty Re: [Resolvido]Erro de Sintaxe na Instrução UPDATE

    Mensagem  geremias 20/8/2021, 13:35

    Bom dia a todos!

    Muito obrigado Alexandre Fim!

    Nossa, a dias estava quebrando a cabeça com isso, vi e revi comparando os dois códigos e não percebi a diferença com relação a virgula.

    Agradeço também pelas dicas extras.

    Valeu mesmo!
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2594
    Registrado : 13/12/2016

    [Resolvido]Erro de Sintaxe na Instrução UPDATE Empty Re: [Resolvido]Erro de Sintaxe na Instrução UPDATE

    Mensagem  Alexandre Fim 20/8/2021, 14:07

    Bom dia Geremias,

    Valeu...o fórum agradece.

    Bons estudos e sucesso !!!


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Erro de Sintaxe na Instrução UPDATE Setinf11
    Sistemas e Tecnologia Ltda

      Data/hora atual: 24/9/2022, 19:29