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]Clausula SQL - Where buscando as duas primeiras letras da pesquisa

    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Empty [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa

    Mensagem  Silvio 8/10/2021, 14:16

    Prezados bom dia a todos.

    Cá comigo tenho a seguinte instrução em um evento ao alterar.

    'Private Sub pesquisa_Change()
    'x = Me.pesquisa.Text
    '
    'c = " where Produto like '*" & x & "*"
    '
    'Me.LstProduto.RowSource = " SELECT idProduto,Produto, Lote FROM QryBuscaProduto " & c & "ORDER BY Produto ASC"
    'End Sub


    A rotina abaixo filtra tudo, porém, preciso que filtre apenas com as iniciais PF
    'c = " where Produto like '*" & x & "*"

    Já tentei...

    '*PF"
    'PF*"
    'p*"

    Sem resultados algum....na consulta que gera a listbox, no campo produto / critérios coloquei: como *PF e executando a consulta diretamente...funciona.

    Mas o que comanda essa consulta em termos de busca e pesquisa é o evento acima.

    Alguém pode me dar uma luz ?

    Grato a todos.


    .................................................................................
    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."
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3596
    Registrado : 21/04/2011

    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Empty Re: [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa

    Mensagem  Marcelo David 8/10/2021, 15:33

    bom dia Silvio,
    há problema nas suas concatenações.

    No final, a sql termina errada dessa forma:

    SELECT idProduto,Produto, Lote FROM QryBuscaProduto  where Produto like '*pf*ORDER BY Produto ASC

    Veja que o que está em vermelho está tudo junto e isso está causando o problema.

    Se o código é apenas esse, pode simplificar, veja:

    Código:
    Dim strSQL as String

    strSQL = "SELECT idProduto,Produto, Lote FROM QryBuscaProduto WHERE Produto LIKE '" & Me.pesquisa.Text & "*' ORDER BY Produto ASC;"
    Me.LstProduto.RowSource = strSQL


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Marcel11
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Empty Re: [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa

    Mensagem  Silvio 8/10/2021, 19:29

    Boa Tarde Marcelo !
    Então..
    Essa linha que me passou....
    "SELECT idProduto,Produto, Lote FROM QryBuscaProduto WHERE Produto LIKE '" & Me.pesquisa.Text & "*' ORDER BY Produto ASC;"...Monta a ListBox.
    Se eu deixar desse jeito, vai aparecer todos os produtos com o inicio INS e eu quero restringir essa ListBox para apenas produtos começados com PF, facilitando a filtragem e a montagem da ListBox e também a procura através de uma caixa de texto, como está no evento ao alterar, em minha primeira mensagem.

    Entretanto, se eu colocar critérios no produto na consulta, não funciona como eu disse na minha primeira mensagem.

    Vamos a luta...preciso disso para a semana que vem...pois estou com metade do sistema em produção e outra metade...aqui no meu computador.


    Abraços fraternais.


    .................................................................................
    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."
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3596
    Registrado : 21/04/2011

    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Empty Re: [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa

    Mensagem  Marcelo David 8/10/2021, 19:44

    Então o que você pretende é que a filtragem seja aplicada sobre uma "pré-filtragem" já por pf?

    Ou seja, todos os produtos que iniciam com PF, e a partir disso realizar outra filtragem utilizando o
    mesmo campo como critério?
    Do jeito que fiz, será exibido na listbox qualquer produto baseado nas iniciais informadas.



    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Marcel11
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Empty Re: [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa

    Mensagem  Silvio 8/10/2021, 20:14

    Marcelo, é isso mesmo....uma pré filtragem e depois um filtragem.
    Uma pré filtragem com apenas PF e depois o usuário faz a busca dos produtos começados com PF

    Será que tem jeito essa " maluquice " a minha ?

    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."
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Empty Re: [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa

    Mensagem  Silvio 9/10/2021, 13:58

    Bem senhores, bom dia a todos.

    Tive que contornar essa situação criando duas consultas iguais entre si, porém com critérios diferentes para os produtos e os insumos.

    Para produtos, o critério adotado para a filtragem na consulta ficou : Como "PF*" e para insumos: Como "INS*"

    Consequentemente a pesquisa e a filtragem na linha comando também foi alterada para as respectivas consultas.

    Funcionou !!!

    Não ficou do modo desejado, mas estou a correr contra o tempo aqui, por enquanto vai ficar desse jeito.

    Vou pesquisar um pouco mais para encontrar uma forma mais limpa de montar, filtrar e pesquisar.

    Abraços a todos.

    Abraços Marcelo.


    .................................................................................
    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."

    Marcelo David gosta desta mensagem

    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3704
    Registrado : 22/11/2016

    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Empty Re: [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa

    Mensagem  DamascenoJr. 9/10/2021, 17:22

    Código:
    "SELECT idProduto,Produto, Lote FROM QryBuscaProduto WHERE Produto LIKE 'PF*" & Me.pesquisa.Text & "*' ORDER BY Produto ASC;"


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3596
    Registrado : 21/04/2011

    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Empty Re: [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa

    Mensagem  Marcelo David 11/10/2021, 13:30

    Maravilha Silvão. Grato pelo retorno!


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    [Resolvido]Clausula SQL - Where buscando as duas primeiras letras da pesquisa Marcel11

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