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]Falta operador na expressão

    avatar
    AMarcos
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  AMarcos em 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
    VIP
    VIP

    Respeito às Regras 75%

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

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

    Mensagem  crysostomo em 9/10/2019, 04:29

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


    .................................................................................
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  ahteixeira em 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
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  AMarcos em 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
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  AMarcos em 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
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  ahteixeira em 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
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  AMarcos em 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 1 vez(es)
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

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

    Mensagem  Celso Roberto em 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


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    AMarcos
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  AMarcos em 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
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

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

    Mensagem  Celso Roberto em 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


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    AMarcos
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  AMarcos em 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
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

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

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

    Olá..

    Ficamos felizes por ter ajudado

    O Fórum agradece o seu retorno

    Abraços e sucesso


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



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

    Respeito às Regras 100%

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

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

    Mensagem  ahteixeira em 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: 6/12/2019, 17:53