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]Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    ademanes
    ademanes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 02/01/2012

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    Mensagem  ademanes 24/9/2012, 12:41

    Senhores colegas do fórum,

    novamente estou aqui solicitando a ajuda de vocês.

    Uso ACCESS 2003.

    Estou trabalhando num banco de dados que será um tipo de agenda.

    Criei um formulário com um subformulário, listando os funcionários, suas matriculas localização e ramais telefônicos com filtro em caixa de texto.

    Para fazer a busca, me baseei no exemplo do colega Nivaldo do tópico abaixo:
    http://maximoaccess.forumeiros.com/t9039-resolvidofiltro-formulario-por-combo-box

    Estou com dificuldades em fazer duas coisas.

    1. - Botao limpar(ou refresh) - Logo depois que filtro o funcionário, para a listagem voltar ao normal, ou seja para que todos os funcionários fiquem listados no formulário novamente, como se fosse um refresh mesmo. Estão no código minhas tentativas.

    2. - O Filtro por nome, está OK. Na verdade fiz com que ele filtre por nome ou matricula. Gostaria de intercalar com outro filtro(outra caixa de texto), no caso com prefixo. Sendo possível filtar por Nome e prefixo ao mesmo tempo. Vi alguns exemplos no fórum, mas não consegui adaptar. Acho que não deve ser muito complicado, penso que estou no caminho certo, mas essas coisinhas estão me deixando louco.

    Segue em anexo meu arquivo

    Agradeço a ajuda e um grande abraço a todos!

    Vida longa ao fórum.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Re: [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    Mensagem  criquio 24/9/2012, 13:06

    Eu geralmente filtro utilizando uma funçãozinha mais ou menos assim, quando preciso filtrar por mais de um campo:

    Código:
    Me.RecordSource = "SELECT * FROM NomeTabela WHERE Campo1 LIKE '*" & Me.Campo1DoForm & "*' And Campo2 LIKE '*" & Me.Campo2DoForm & "*' And Campo3 LIKE '*" & Me.Campo3DoForm & "*'"
    Para limpar o filtro, basta buscar todos os dados da tabela, sem passar nenhum filtro:

    Código:
    Me.RecordSource = "SELECT * FROM NomeTabela"


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    MarxPg4 gosta desta mensagem

    ademanes
    ademanes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 02/01/2012

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    Mensagem  ademanes 24/9/2012, 14:01

    Caro colega,
    o limpar (refresh) deu certo joinha!

    Quanto a consulta fiz algo semelhante a dica que você passou. Até tentei implementar da sua maneira mas não consegui.

    Em um text box consigo filtrar por todos os campos da tabela, se necessário. O que estou apanhando é com duas caixas de texto. Se uma ficar em branco não deve interferir na consulta da outra. Ai minha dificuldade. Mas estou trabalhando qualquer novidade estarei informando. Obrigado pela dica, mas ainda não resolvido!
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Re: [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    Mensagem  Avelino Sampaio 24/9/2012, 14:33

    tente utilizar a ténica empregada neste tópico:

    http://maximoaccess.forumeiros.com/t9599-filtro-em-formulario

    Veja esta vídeo-aula sobre filtragens, para se aprimorar

    http://www.usandoaccess.com.br/tutoriais/tuto35.asp?id=1#inicio

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    ademanes
    ademanes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 02/01/2012

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Re: [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    Mensagem  ademanes 24/9/2012, 15:59

    Tenho as seguintes caixas de texto no meu formulario para filtro.

    Individualmente elas filtram corretamente.

    Não consigo fazer elas trabalharem juntas. Quem puder de uma olhada no arquivo.
    Mandei um novo atualizado.


    CAIXA TEXTO1
    Private Sub Texto9_Change()

    Dim C As String, X As String, Y As String, D As String
    X = Me.Texto9.Text
    C = " where NOME like '*" & X & "*' or MATRICULA like '*" & X & "*' or PREFIXO like'*"
    Me.SUB_CONS_RAMAL.Form.RecordSource = " select * from FUNCIONARIOS " & C
    End Sub

    CAIXA TEXTO2
    Private Sub TX_PREFIXO_Change()
    Y = Me.TX_PREFIXO.Text
    D = " where PREFIXO like '*" & Y & "*'"
    Me.SUB_CONS_RAMAL.Form.RecordSource = " select * from FUNCIONARIOS " & D
    End Sub
    ademanes
    ademanes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 02/01/2012

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Senhores...

    Mensagem  ademanes 2/10/2012, 12:45

    Alguém mais poderia dar uma olhadinha antes de eu encerrar o topico por favor?

    Grande abraço!

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Re: [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    Mensagem  Avelino Sampaio 2/10/2012, 20:10

    Opte pela opção FILTER, que tem um melhor desempenho do que remontar a consulta SQL

    Vc analisou o link que te indiquei ?




    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    ademanes
    ademanes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 02/01/2012

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Filtro de Pesquisa em Formulário por uma Caixa de Texto

    Mensagem  ademanes 4/10/2012, 15:21

    Avelino agradeço demais sua ajuda.

    Analisei os links sim, tem muita coisa boa lá. Mudei uma das consultas conforme sua sugestão utilizando "FILTER" principalmente para aprender. Não conhecia essa função.

    Olhei quase tudo no fórum sobre o assunto mas ainda não fui capaz de combinar a ação de consulta das duas caixas de texto para filtrarem "juntas".

    Baixei um exemplo do fórum que tem o mesmo principio do que quero, acho que foi do JPaulo até. Mas tratando de interação(filtro) entre combos e mesmo assim não fui capaz.

    Na caixa de "Texto9", posso filtrar por nome ou matricula do funcionário. (Segue abaixo o codigo).

    Deixei uma linha comentada onde estava tentando concatenar com o valor da caixa de texto "TX_PREFIXO" usando -- and [PREFIXO] like '*" & Me!TX_PREFIXO.Text & "*'. Mas sempre da erro.
    Acho que minha lógica que não deve estar correta.

    -----------------------------------------------------------------------------------------
    Private Sub Texto9_Change()

    Dim filtro As String
    If Len(Me!Texto9.Text & "") = 0 Then
    Me!SUB_CONS_RAMAL.Form.Filter = ""
    Me!SUB_CONS_RAMAL.Form.FilterOn = False
    Exit Sub
    End If
    filtro = "[NOME] like '*" & Me!Texto9.Text & "*' or [MATRICULA] like '*" & Me!Texto9.Text & "*'"
    ' and [PREFIXO] like '*" & Me!TX_PREFIXO.Text & "*'
    Me!SUB_CONS_RAMAL.Form.Filter = filtro
    Me!SUB_CONS_RAMAL.Form.FilterOn = True

    End Sub
    -----------------------------------------------------------------------------------------
    Estou encaminhando em anexo o Banco de dados para dirimir quaisquer duvidas da minha explicação.

    Muito obrigado e um grande abraço!
    Anexos
    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Attachmentrascunho_agenda.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (34 Kb) Baixado 252 vez(es)
    ademanes
    ademanes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 02/01/2012

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Any news:?

    Mensagem  ademanes 8/10/2012, 18:26

    Novidades?


    .................................................................................
    -------------------------------------------------------------------------------------------------------------------------------------
    "Quando pratico o bem, sinto-me bem; quando pratico o mal, sinto-me mal. Eis a minha religião" (Abraham Lincoln)
    "A minha mente é a minha igreja."(Thomas Paine)
    "O mundo é o meu país, toda a humanidade são meus irmãos, e fazer o bem é a minha religião". (Thomas Paine)

    http://movimentozeitgeist.com.br/
    http://zeitgeistmovie.com/
    http://showdalua.com/
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Re: [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    Mensagem  JPaulo 9/10/2012, 12:08

    Rodrigo, bom dia !

    Tem de ser assim, teste;



    Private Sub Texto9_Change()
    Dim filtro As String
    If Len(Me!Texto9.Text & "") = 0 Then
    Me!SUB_CONS_RAMAL.Form.Filter = ""
    Me!SUB_CONS_RAMAL.Form.FilterOn = False
    Exit Sub
    Else
    filtro = "[NOME] like '*" & Me!Texto9.Text & "*' or [MATRICULA] like '*" & Me!Texto9.Text & "*'"
    Me!SUB_CONS_RAMAL.Form.Filter = filtro
    Me!SUB_CONS_RAMAL.Form.FilterOn = True
    End If
    End Sub


    Private Sub TX_PREFIXO_Change()
    Dim filtro As String
    x = Me.TX_PREFIXO.Text
    y = Me.Texto9
    If Len(Me!TX_PREFIXO.Text & "") = 0 Then
    Me!SUB_CONS_RAMAL.Form.Filter = ""
    Me!SUB_CONS_RAMAL.Form.FilterOn = False
    Exit Sub
    Else
    filtro = "[PREFIXO] like '*" & x & "*' and [NOME] like '*" & y & "*' or [PREFIXO] like '*" & x & "*' and [MATRICULA] like '*" & y & "*'"
    Me.SUB_CONS_RAMAL.Form.RecordSource = " select * from FUNCIONARIOS " & z
    Me!SUB_CONS_RAMAL.Form.Filter = filtro
    Me!SUB_CONS_RAMAL.Form.FilterOn = True
    End If
    End Sub


    http://dl.dropbox.com/u/771097/rascunho_agenda_OLD.rar



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Folder_announce_new Instruções SQL como utilizar...
    ademanes
    ademanes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 02/01/2012

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Re: Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    Mensagem  ademanes 9/10/2012, 13:27

    Jpaulo,

    agradeço demais sua ajuda era justamente isso mesmo.

    acho que só a linha (Me.SUB_CONS_RAMAL.Form.RecordSource = " select * from FUNCIONARIOS " & z) que era um "lixo" de meu exemplo em anexo. Fiquei mais feliz que estava seguindo pelo lado certo. Faltou lógica nam eh? huahuauh

    Nota 10 agradeço de novo e um Grande abraço!

    Tópico como Resolvido!


    .................................................................................
    -------------------------------------------------------------------------------------------------------------------------------------
    "Quando pratico o bem, sinto-me bem; quando pratico o mal, sinto-me mal. Eis a minha religião" (Abraham Lincoln)
    "A minha mente é a minha igreja."(Thomas Paine)
    "O mundo é o meu país, toda a humanidade são meus irmãos, e fazer o bem é a minha religião". (Thomas Paine)

    http://movimentozeitgeist.com.br/
    http://zeitgeistmovie.com/
    http://showdalua.com/
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Re: [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    Mensagem  JPaulo 9/10/2012, 13:28

    Obrigado pelo retorno amigo, o fórum agradece.

    Precisando de novo dê um grito.



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto. Empty Re: [Resolvido]Filtro de Pesquisa em Formulário por uma Caixa de Texto.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 10:36