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


    Filtrar subformulário

    avatar
    sthoose
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 28/02/2011

    Filtrar subformulário Empty Filtrar subformulário

    Mensagem  sthoose 28/3/2012, 15:38

    Estou montando um BD que contém um subformulário. Gostaria de configurar um filtro que seria parametrizado conforme as opções escolhidas em uma combobox + o conteúdo de uma caixa de texto que seria digitado pelo usuário. Porém, este filtro seria aplicado apenas quando o botão procurar fosse clicado.
    Outro ítem importante é opção pela procura por período de data, com data inicial e final. Alguém poderia me ajudar a construir o código ?
    Segue link do BD:
    Código:
    http://speedy.sh/gVbvM/Exemplo-Filtragem.rar


    avatar
    Convidad
    Convidado


    Filtrar subformulário Empty Re: Filtrar subformulário

    Mensagem  Convidad 28/3/2012, 23:06


    Olá!

    Explique com super detalhes o que quer fazer. No tópico.
    avatar
    sthoose
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 28/02/2011

    Filtrar subformulário Empty Re: Filtrar subformulário

    Mensagem  sthoose 29/3/2012, 15:18

    Como é demonstrado no BD do link, em um formulário existe:
    - 1 Subformulário (do tipo formulário contínuo) onde são exibidos os dados de uma tabela (Produtos),porém o subformulário obtém estes dados por meio de uma consulta (ConsProduto),sendo esta classificada por ordem de data decrescente .
    - 1 Caixa do tipo combobox(CbxDados), com origem de dados informada por uma lista de valores ( CODIGO, PRODUTOS, DETALHES.)
    - 1 Caixa de texto vazia(txtPesquisa), para que o usuário digite a informação que deseja procurar.
    - 1 Caixa de texto vazia(txtDatade), para que o usuário digite uma data para início do intervalo de registros a serem exibidos.
    - 1 Caixa de texto vazia(txtDataate), para que o usuário digite uma data limite para o intervalo de registros a serem exibidos.
    - 1 Botão(btnProcurar)que teria como função, executar a filtragem do subformulário.
    - 1 Botão(btnTodas) que teria como função, remover o filtro e portanto, fazer com que o subformulário exiba todas as informações.


    A função filtro a ser aplicada pelo botão(btnProcurar), seria baseada em dois fatores:
    1º - Buscaria a informação que consta em CbxDados, para saber qual tipo de campo filtrar, e depois pegaria o texto digitado em txtPesquisa e realizaria o filtro, mas sem que o usuário precise digitar toda a informação, ex:
    Para filtrar o subformulário, em busca dos registros referentes ao PRODUTO > ARROZ, o usuário selecionaria na combobox CbxDados a palavra PRODUTO, e escreveria em txtPesquisa algo como: AR ou ARR, ou ainda ARROZ, ou seja, apenas parte da informação, e então ao clicar no botão btnProcurar o filtro seria executado.
    2º - Outro fator seria o período em que os registros foram cadastrados, que funcionaria em conjunto com o filtro acima citado, ou listaria o intervalo de data de registros cadastrado. Se por exemplo o usuário queira saber quantos registros referente ao produto arroz foram cadastrados no de fevereiro/2012, ele seguiria os passos descritos anteriormente, e acrescentaria ao formulário as informações de data inicial (01/02/2012)no campo txtDatade e final (29/02/2012)no campo txtDataate e então clicaria no botão btnPesquisa para que o filtro seja aplicado ao subformulário.Ou se ele quiser listar todos os registros deste período, informaria apenas o período, sem selecionar a combobox, e sem digitar algo em txtPesquisa.
    Espero ter sido mais claro.

    Link do BD http://speedy.sh/gVbvM/Exemplo-Filtragem.rar


    avatar
    Convidad
    Convidado


    Filtrar subformulário Empty Re: Filtrar subformulário

    Mensagem  Convidad 30/3/2012, 01:53


    Uso o Access2003.
    Se possível, converta para esta versão.
    avatar
    sthoose
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 28/02/2011

    Filtrar subformulário Empty Re: Filtrar subformulário

    Mensagem  sthoose 2/4/2012, 18:50

    Segue no formato 2003:
    Código:
    http://speedy.sh/3uAby/ExemploFiltros2003.rar
    avatar
    Convidad
    Convidado


    Filtrar subformulário Empty Re: Filtrar subformulário

    Mensagem  Convidad 2/4/2012, 18:57


    Qual é formulário ?

    FormProdutosA
    FormProdutosB
    FormProdutosC

    Parecem iguais ...
    avatar
    sthoose
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 28/02/2011

    Filtrar subformulário Empty Re: Filtrar subformulário

    Mensagem  sthoose 2/4/2012, 20:38

    Sim, são aparentemente iguais. No entanto a dúvida a qual me refiro é para o FormProdutosA , que possui um subformulário acoplado.

    Os outros utilizam basicamente o mesmo processo, mas um utiliza uma caixa de listagem, e o outro o Microsoft listview.
    avatar
    Convidad
    Convidado


    Filtrar subformulário Empty Re: Filtrar subformulário

    Mensagem  Convidad 5/4/2012, 17:01


    Demorei ...

    A primeira dificuldade que encontrei foi na combo de pesquisa CbxDados.
    A origem dela é uma ListaDeValores, e é difícil associar esses valores aos Nomes de controles do subform.

    Com uma luz do colega Avelino, saiu esta rotina para carregar a combo com os Nomes dos controles do subform - apenas os controles do tipo caixa de texto, senão lista também rótulos, etc.


    Private Sub Form_Load()
    Dim ctrl As Control
    For Each ctrl In Me.SubFormProdutos.Form.Controls
    If ctrl.ControlType = acTextBox Then
    Me.CbxDados.AddItem ctrl.Name
    End If
    Next
    End Sub

    Assim já dá pra usar a combo como filtro.
    Se esta forma está bem pra vc, retorne.
    Com os outros controle de filtro não vai ter problema.

    Anexos
    Filtrar subformulário Attachmentsthoose_Filtros2003.zip
    (52 Kb) Baixado 158 vez(es)
    avatar
    sthoose
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 28/02/2011

    Filtrar subformulário Empty Re: Filtrar subformulário

    Mensagem  sthoose 9/4/2012, 12:20

    Bom, não vejo problema em utilizar o nome das caixa de controle para alimentar a combo, mas não sei como fazer para que ao clicar no botão da pesquisa o filtro ocorra.
    avatar
    Convidad
    Convidado


    Filtrar subformulário Empty Opção

    Mensagem  Convidad 9/4/2012, 12:35


    Lembrei deste exemplo, que filtra por vários campos em um subformulário, a partir do texto digitado numa caixa no form principal.

    Qualquer problema, retorne!


    Conteúdo patrocinado


    Filtrar subformulário Empty Re: Filtrar subformulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 21:37