MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Busca em campos concatenados

    avatar
    wilflx2
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 31/01/2014

    [Resolvido]Busca em campos concatenados Empty [Resolvido]Busca em campos concatenados

    Mensagem  wilflx2 em 14/10/2020, 17:02


    Olá Mestres!

    Estou com uma dificuldade que sei que é simples, procurei na net e aqui mas não encontrei nada parecido.

    Minha ideia é fazer uma busca em valores concatenados, por exemplo, tenho uma tabela onde tem dois campos que preciso concatenar, Mamadir e Mamaesq. Preciso retornar uma busca com todos os registros que contenham determinado valor dentro desses dois campos, por isso pensei em concatena-los.

    Estou fazendo um relatório e aplicando o recordset com a busca, mas não consigo retornar os valores.

    Segue o codigo:
    Código:

    Me.RecordSource = "SELECT NExame, Nome, [Data Ex], Idade, Cidade, Mamaesq, Mamadir, (Mamaesq & "" "" & Mamadir) As Mamas, contagem" & _
        " FROM tabMamoCad" & _
        " WHERE [Data Ex] BETWEEN #" & Format(Forms!frmMamoRel.txMamoIni, "mm/dd/yyyy") & "# " & _
        " AND #" & Format(Forms!frmMamoRel.txMamoFinal, "mm/dd/yyyy") & "# " & _
        " AND (Mamaesq & "" "" & Mamadir) LIKE Forms!frmMamoRel.txFiltro"

    Quebrei a cabeça e não encontro a forma correta de concatenar, ou fazer o retorno desta busca.
    Onde estou errando?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3631
    Registrado : 04/04/2010

    [Resolvido]Busca em campos concatenados Empty Re: [Resolvido]Busca em campos concatenados

    Mensagem  Avelino Sampaio em 14/10/2020, 20:45

    Olá!

    sugiro que utilize uma caixa de mensagem, para saber como está sendo montado a consulta. Exemplo:

    Dim strSql$
    strSql="SELECT NExame, Nome, [Data Ex], Idade, Cidade, Mamaesq, Mamadir, (Mamaesq & "" "" & Mamadir) As Mamas, contagem" & _
    " FROM tabMamoCad" & _
    " WHERE [Data Ex] BETWEEN #" & Format(Forms!frmMamoRel.txMamoIni, "mm/dd/yyyy") & "# " & _
    " AND #" & Format(Forms!frmMamoRel.txMamoFinal, "mm/dd/yyyy") & "# " & _
    " AND (Mamaesq & "" "" & Mamadir) LIKE Forms!frmMamoRel.txFiltro"
    msgbox strSql
    Me.RecordSource = strSql


    Mostre aqui extamente o que a caixa de mensagem exibe.

    Aguardamos


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.
    avatar
    wilflx2
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 31/01/2014

    [Resolvido]Busca em campos concatenados Empty Re: [Resolvido]Busca em campos concatenados

    Mensagem  wilflx2 em 14/10/2020, 21:23


    Olá Avelino, obrigado por responder!

    Apareceu a seguinte mensagem.:

    [Resolvido]Busca em campos concatenados Screen10
    avatar
    wilflx2
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 31/01/2014

    [Resolvido]Busca em campos concatenados Empty Re: [Resolvido]Busca em campos concatenados

    Mensagem  wilflx2 em 14/10/2020, 21:26

    Olá,

    Pelos testes que fiz, o problema se dá após o WHERE, onde está o AND e se eu remover a linha, ele busca certo pelas datas e apresenta o resultado.
    O problema parece estar na concatenação dos campos.

    Código:
    " AND[b] (Mamaesq & "" "" & Mamadir)[/b] LIKE Forms!frmMamoRel.txFiltro"

    Esta parte está correta?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3631
    Registrado : 04/04/2010

    [Resolvido]Busca em campos concatenados Empty Re: [Resolvido]Busca em campos concatenados

    Mensagem  Avelino Sampaio em 14/10/2020, 21:48

    Então

    Observe que a consulta exibida pela caixa de mensagem te mostra aonde está o erro. Observe que deveria ter mostrado o valor inserido na caixa txFiltro do formulário e não a sua chamada ( forms!frmMamoRel.txFiltro). Teste com estas alterações:

    Dim strSql$
    strSql="SELECT NExame, Nome, [Data Ex], Idade, Cidade, Mamaesq, Mamadir, (Mamaesq & "" "" & Mamadir) As Mamas, contagem" & _
    " FROM tabMamoCad" & _
    " WHERE ([Data Ex] BETWEEN #" & Format(Forms!frmMamoRel.txMamoIni, "mm/dd/yyyy") & "# " & _
    " AND #" & Format(Forms!frmMamoRel.txMamoFinal, "mm/dd/yyyy") & "# " & _
    ") AND (Mamaesq & "" "" & Mamadir) LIKE '" & Forms!frmMamoRel.txFiltro & "';"
    msgbox strSql
    Me.RecordSource = strSql


    Mostre novamente o conteúdo da caixa de mensagem.

    Aguardamos


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7746
    Registrado : 05/11/2009

    [Resolvido]Busca em campos concatenados Empty Re: [Resolvido]Busca em campos concatenados

    Mensagem  Alexandre Neves em 14/10/2020, 21:58

    Boa noite,
    Não sei o que conteúdo de Forms!frmMamoRel.txFiltro
    mas tente
    ... AND (Mamaesq & ' ' & Mamadir) LIKE '*" & Forms!frmMamoRel.txFiltro & "*'"


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    wilflx2
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 31/01/2014

    [Resolvido]Busca em campos concatenados Empty Re: [Resolvido]Busca em campos concatenados

    Mensagem  wilflx2 em 15/10/2020, 15:46

    Olá Mestres!

    Muito obrigado pela ajuda, o conjunto das duas soluções deram certo!
    O que o Avelino escreveu é verdade, não estava buscando o resultado da caixa de combinação, mas sim mostrando só o campo, faltou o " & Forms!frmMamoRel.txFiltro & "';"
    Porem ainda continuou não mostrando os resultados, ai entra o que o Alexandre Neves passou, faltou o "*" para buscar todos.
    Funcionou perfeitamente!

    Agradeço aos mestres pela ajuda!
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3631
    Registrado : 04/04/2010

    [Resolvido]Busca em campos concatenados Empty Re: [Resolvido]Busca em campos concatenados

    Mensagem  Avelino Sampaio em 15/10/2020, 16:33

    Olá!

    Obrigado pelo feedback.

    Vale chamar sua atenção para uma alteração que havia feito no ultimo código, que foi também acrescentar parêntesis (), para deixar bem delineado os operadores lógicos.  O senhor tinha algo assim:

    ...WHERE   xx BETWEEN yy AND ww AND zzz ... 


    Foi alterado para:

    ...WHERE   (xx BETWEEN yy AND ww) AND zzz ... 


    Poderia também ser assim:

    ...WHERE   (xx BETWEEN yy AND ww) AND (zzz) ... 


    Sucesso!


    Última edição por Avelino Sampaio em 15/10/2020, 18:18, editado 1 vez(es)


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.
    avatar
    wilflx2
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 31/01/2014

    [Resolvido]Busca em campos concatenados Empty Re: [Resolvido]Busca em campos concatenados

    Mensagem  wilflx2 em 15/10/2020, 17:35


    Olá Avelino,

    Perfeito! Obrigado pela dica!

      Data/hora atual: 26/10/2020, 19:13