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

3 participantes

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4754
    Registrado : 20/04/2011

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Silvio 14/6/2021, 20:47

    Prezados boa tarde.

    Necessito realizar uma busca por um determinado campo texto em uma tabela.
    Estou usando a seguinte rotina abaixo

    If x >= 1 Then
    If MsgBox("Já existe um produto cadastrado !" & vbCrLf & _
    "Deseja atualizar o estoque ?", vbQuestion + vbYesNo) = vbNo Then
    Exit Sub
    Else

    'aqui faço a atualização do estoque
    Dim Db As Database, Rs As Recordset
    Set Db = CurrentDb()
    Set Rs = Db.OpenRecordset("TblEstoque", dbOpenDynaset)
    Rs.FindFirst "[descricao] LIKE " 'me.DescricaoProduto '" ...............linha que contém o erro
    Rs.Edit
    Rs("saldo") = Saldo + Me.Qtd
    Rs.Update
    Rs.Close
    Set Rs = Nothing
    Set Db = Nothing

    End If
    End If

    Será que eu estou muito errado na sintaxe do FindFirst ?
    Tanto o campo descrição como descriçãoproduto são textos.
    Aparece:
    Erro em tempo de execução '3077'
    Erro de sintaxe(operador faltando) na expressão

    Alguém pode me dar uma ajuda ?


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty Re: [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Alexandre Fim 14/6/2021, 21:49

    Silvio,

    A minha sugestão é utilizar instruções SQL, sem a necessidade de abrir um recordset. Assim:

    Código:


        Set Db = CurrentDb

        sSQL = "UPDATE TblEstoque "
        sSQL = sSQL & " SET saldo = (me.Saldo+me.Qtd) "
        sSQL = sSQL & " WHERE descricao LIKE '*" & Me.DescricaoProduto & "*'"
        Db.Execute sSQL




    Set Rs = Db.OpenRecordset("TblEstoque", dbOpenDynaset) >> Vale lembrar que esta linha está criando um recordset na memória, utilizando como origem todos os registro da tabela, o que é desnecessário, tornando sua aplicação lenta.


    No caso da tua instrução, a forma correta é:

    Rs.FindFirst "[descricao] LIKE '*" & Me.DescricaoProduto & "*'"

    OBS: Você está utilizando operador LIKE com asterisco no inicio e no fim do campo, onde o Access irá atualizar os produtos que tem a descrição dentro destes asteriscos.

    Ex.:
    Se você informar a descrição do produto "Caneta", será atualizado os seguintes produtos:

    Caneta esferográfica
    Kit com caneta lápis e borracha
    Lápis-Caneta


    É isso

    Esperto ter ajudado

    []'s

    FIM


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4754
    Registrado : 20/04/2011

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty Re: [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Silvio 15/6/2021, 12:24

    Alexandre, bom dia !!
    Vi a tua rotina, pratica e limpa !
    Porém está dando erro na instrução SQl (Erro 3061  / parâmetros insuficientes eram esperados 2 )


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4473
    Registrado : 06/11/2009

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty Re: [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Assis 15/6/2021, 13:19

    Silvio

    No meu caso o campo "Ref" é texto

       RS.FindFirst "[Ref] = '" & Me![Ref] & "'"


    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4754
    Registrado : 20/04/2011

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty Re: [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Silvio 15/6/2021, 13:49

    Assis, bom dia / boa tarde a ti.

    Perfeito...porém agora vou partir para outra luta....o saldo não está somando ( atualizando ).

    Também estou esperando a resposta do Alexandre quanto ao erro que deu na SQL.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4473
    Registrado : 06/11/2009

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty Re: [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Assis 15/6/2021, 14:07

    Para somar uso:

    rs("adiantado") = Nz(rs("adiantado"), 0) + Nz(Me.Recebido, 0)


    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4754
    Registrado : 20/04/2011

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty Re: [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Silvio 15/6/2021, 15:08

    Assis, show de bola mesmo, agora sim, consigo atualizar o estoque do dito cujo.

    Porém...sempre há um porém em tudo né ?

    vou ter que dar baixa pelo IDPeca, e na tabela estoque não aparece o mesmo, tem como puxar esse idpeca para o produto ?
    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Tblcad10

    A imagem acima é da tblCadPeca.

    ------------------------------------------------------------------------------------------------------------------------------------------------------
    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Tblest11

    -------------------------------------------------------------------------------------------------------------------------------------------------------
    Exemplo, TRIPLICE FELINA, COM O ID 460, tem como " puxar " esse id junto com a descrição ?

    Se puder me dar uma luz...fico agradecido.

    Abraços.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty Re: [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Alexandre Fim 15/6/2021, 18:45

    Silvio,

    No erro que vc informou, quais os campos que precisam ser calculados?



    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4473
    Registrado : 06/11/2009

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty Re: [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Assis 15/6/2021, 18:47

    Não pode ser o 460, tem 3 com numero diferente

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Sem_t222


    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4754
    Registrado : 20/04/2011

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty Re: [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Silvio 15/6/2021, 19:09

    Assis, com relação as entradas em duplicatas, já resolvi isso.

    Alexandre o único campo calculado é a soma do que está entrando com o saldo.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4754
    Registrado : 20/04/2011

    [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto Empty Re: [Resolvido]Erro de sintaxe no FindFirst.....procurando por campo texto

    Mensagem  Silvio 16/6/2021, 17:00

    Boa tarde..

    Com tudo que foi postado aqui....vou dar como resolvido o assunto.

    Gratidão ao Assis e ao Alexandre.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."

      Data/hora atual: 1/8/2021, 11:28