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


4 participantes

    [Resolvido]Falta operador na expressão

    avatar
    AMarcos
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 26/07/2016

    [Resolvido]Falta operador na expressão Empty [Resolvido]Falta operador na expressão

    Mensagem  AMarcos 8/10/2019, 21:07

    Amigos mestres,

    me deparei numa situação em que possuo um campo consulta que busca o registro de acordo com o nome pesquisado:

    Código:
    Private Sub comb_ConsultaMotora_AfterUpdate()
    Dim strCriterio
    strCriterio = "[Codigo]=" & Me.comb_ConsultaMotora.Column(0) 'Onde 0 é a coluna da Código (PK)
    DoCmd.Minimize
    DoCmd.OpenForm "Cadastro_Motoristas", , , strCriterio
    End Sub
    Mas ao digitar um nome que não possui na relação do BD, apago e em seguida clico no botão "FECHAR", aparece o módulo design com o código acima com a a seguinte linha em destaque:
     
    Código:
    DoCmd.OpenForm "Cadastro_Motoristas", , , strCriterio

    E em paralelo abre a msg de erro no centro da tela com a seguinte informação:

    Erro de sintaxe (operador faltando) na expressão de consulta '[Codigo]='

    Alguém sabe me dizer qual o operador que está faltando? tentei o tratamento "On Error Resume Next", resolveu a questão do erro mas em compensação não executa o fechamento do formulário, mas sim o comando minimizar.  É preciso restaurar para clicar novamente no "FECHAR" para executar finalmente a macro.

    Certo que terei a orientação de corrigir este incômodo, fico no aguardo!!!

    AMarcos
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2746
    Registrado : 23/01/2018

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  crysostomo 9/10/2019, 04:29

    strCriterio = "[Codigo]= ' " & Me.comb_ConsultaMotora.Column(0) 'Onde 0 é a coluna da Código (PK)
    falta aspas simples


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender  o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  Alvaro Teixeira 9/10/2019, 09:39

    Olá a todos,

    António Marques , tente asim:

    Código:
    Private Sub comb_ConsultaMotora_AfterUpdate()
        Dim strCriterio
        If Len(Me.comb_ConsultaMotora.Column(0) & "") > 0 Then strCriterio = "[Codigo]=" & Me.comb_ConsultaMotora.Column(0)    'Onde 0 é a coluna da Código (PK)
        DoCmd.Minimize
        DoCmd.OpenForm "Cadastro_Motoristas", , , strCriterio
    End Sub

    Abraço
    avatar
    AMarcos
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 26/07/2016

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  AMarcos 9/10/2019, 12:53

    Caro amigo Crysostomo, eu já havia tentado esse procedimento de colocar aspas simples sem sucesso.

    Ele acaba dando erro pois dar erro de sintaxe quando faz a busca:

    Erro de sintaxe na cadeia na expressão de consulta '[codigo]='2'.  

    Onde o nº 2 é o código do registro pesquisado.


    AMarcos
    avatar
    AMarcos
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 26/07/2016

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  AMarcos 9/10/2019, 12:59

    Caro Teixeira, agradeço também a atenção dispensada, mas está acontecendo a mesma coisa quando eu coloquei o Tratamento (On erro resume next) no início da expressão.

    Não ocorre mais o erro, mas executa a o comando de minimizar, onde o desejado, no caso de apagar o que foi digitado e em seguida clicar o botão "FECHAR", era fechar o formulário atual de Cadastro de Motorista e abrir o principal de nome Menu.

    AMarcos
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  Alvaro Teixeira 9/10/2019, 16:06

    Olá a todos,

    Marcos, com base na descrição, podemos ter várias soluções:

    a) com o controlo do erro, verificar qual o codigo e fazer o tratamento (cancel e resume)
    b) chamar o código através de um botão para ver o reporte em vez de ser "ao perder o foco" do campo

    O ideal seria partilhar a base de dados com a parte envolvida para se testar.

    Abraço
    avatar
    AMarcos
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 26/07/2016

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  AMarcos 9/10/2019, 23:01

    Esse é o BD onde está acontecendo esse pequeno erro que pode ser provocado pelo o usuário caso ele digite no campo "Consulta Motorista" um nome que não existe ou erre e venha a apagar e logo depois peça para fechar o Formulário Cadastro_Motoristas.

    PS: Se puderem amigos me ajudem também com o tópico "Registro do último odômetro se repetindo", pois este é um problema sistemático que acontece e causa prejuízos no item confiabilidade no programa.

    Att,

    AMarcos
    Anexos
    [Resolvido]Falta operador na expressão AttachmentConsulta_ERROR.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (211 Kb) Baixado 2 vez(es)
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  Celso Roberto 10/10/2019, 00:23

    Olá..

    O erro ocorre porque a combobox fica sem critério.

    Acrescente esta linha no inicio
    Código:
    If IsNull(Me.comb_ConsultaMotora) Or Me.comb_ConsultaMotora = "" Then Exit Sub

    ficando assim
    Código:
    Private Sub comb_ConsultaMotora_AfterUpdate()

    If IsNull(Me.comb_ConsultaMotora) Or Me.comb_ConsultaMotora = "" Then Exit Sub
    Dim strCriterio
    strCriterio = "[Código]=" & Me.comb_ConsultaMotora.Column(0) & "" 'Onde 0 é a coluna da Código (PK)
    DoCmd.OpenForm "Cadastro_Motoristas", , , strCriterio
    DoCmd.Minimize
    End Sub

    Aguardamos o seu retorno

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    LUCIEL-UDI gosta desta mensagem

    avatar
    AMarcos
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 26/07/2016

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  AMarcos 10/10/2019, 00:32

    Amigo mestre Celso Roberto muito obrigado pela sua dica. Deu certíssimo!!!

    Agora o usuário não tem como cair em erro caso venha fazer uma escolha errada.


    Agora se puder decifrar a problemática naquele tópico que eu mencionei, seria excelente!!! Qualquer coisa que não tenha ficado bem esclarecido eu posso melhorar a minha redação para melhor compreensão.


    O danado do registro passou a se repetir de uma hora para outra afetando o cálculo da autonomia de combustéivel.


    Muito Obrigado a vc Celso e a todos os amigos (Teixeira e Crisóstomo) que se dispuseram a me ajudar nesse impasse.


    Um forte abraço,

    AMarcos
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  Celso Roberto 10/10/2019, 00:34

    Olá..

    Eu não entendi o porque voce minimiza e depois abre novamente o mesmo formulário.

    se for só para mudar o registro seria melhor este

    Código:
    If IsNull(Me.comb_ConsultaMotora) Or Me.comb_ConsultaMotora = "" Then Exit Sub
    DoCmd.SearchForRecord , "", acFirst, "[Código] = " & Str(Nz(Screen.ActiveControl, 0))

    Aguardamos

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    AMarcos
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 26/07/2016

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  AMarcos 10/10/2019, 00:40

    Vou implementar esta sugestão e vê se me atende.

    Muito obg mais uma vez!

    AMarcos
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  Celso Roberto 10/10/2019, 01:09

    Olá..

    Ficamos felizes por ter ajudado

    O Fórum agradece o seu retorno

    Abraços e sucesso


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  Alvaro Teixeira 10/10/2019, 08:24

    Olá a todos,

    Antonio Marcos, obrigado pelo retrono.
    Como pode verificar ao partilhar ficou mais fácil para ajudar.

    Abraço a todos

    Conteúdo patrocinado


    [Resolvido]Falta operador na expressão Empty Re: [Resolvido]Falta operador na expressão

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 20:34