Access – Filtros sequenciais – Versão 2

Trata-se de uma função que permite a filtragem sequencial, em qualquer ordem, dos registros de um formulário para campos dos seguintes tipos :

Texto; Data/Hora; Sim/Não; Autonumeração; Byte; Inteiro; Inteiro Longo; Simples; Duplo; Decimal

Você pode criar quantas combinações de filtros quiser. As caixas de combinação dos filtros ainda não usados apresentam apenas os dados compatíveis com a filtragem anterior.

Para usar, você deve importar a função para o seu banco de dados, criar ou adaptar caixas de combinação para uso como filtro segundo determinadas regras e anexar a elas um procedimento de evento “Ao Atualizar” que faz a chamada da função. No exemplo essas etapas são descritas em detalhes (botão Como Usar).

O código está comentado.

Veja os termos de uso na página Sobre

Antes de baixar, veja este exemplo que é muito mais versátil

Atualização 0.3 (15/3/2012) 

Nesta versão foi incluída a possibilidade de se ter filtros classificados em ordem decrescente.

Nas versões anteriores independente da classificação inicial do filtro, após a primeira filtragem ou a remoção do filtro, todas as caixas de combinação dos filtros eram classificadas em ordem crescente.

Se usou a versão anterior (V2 0.2) em seus programas, basta substituir o módulo FiltrosSequenciaisV2 pela versão deste exemplo.

Para usar, siga as instruções mostradas ao clicar o botão “Como usar” do exemplo.

.

Orientações

Quando a Origem do registro do seu formulário tem uma associação do tipo 1 para muitos, caso exista um registro do lado 1 sem um dado associado no lado muitos ,  o que vai ocorrer é que o registro com esse dado não vai aparecer no formulário . Para que isso não ocorra, você deve alterar o tipo de associação como mostrado abaixo.

Atenção : Esta instrução de montagem não está incorporada no exemplo !

A origem do registro do seu formulário tem que ser uma instrução SQL (Select ….) . Se você usar o nome da tabela como origem do registro vai dar erro ! 

28/9/2012

.

Pergunta interessante colocada nos comentários :
Como imprimir os resultados da filtragem do formulário em um relatório ?

Resposta : No seu formulário que tem os filtros, coloque um botão para abrir o seu relatório.

Na janela propriedades do relatório, na aba Dados, troque a opção Filtro ativado de Não para Sim.

No evento AoAbrir do relatório, coloque a seguinte instrução:

Me.Filter = varFiAc

Alternativamente você pode deixar a opção Filtro ativado como Não e colocar no procedimento Ao Abrir do relatório a instrução:

Me.FilterOn = True
Me.Filter = varFiAc

Obs: Só para garantir, certifique-se que a origem dos registros do seu relatório é a mesma da origem dos registros do seu formulário !

Histórico das versões 

Por favor, antes de tentar modificar a função ou postar um comentário, clique aqui.

Anúncios

Limpar a Janela imediata do VBE no Access

Ao depurar  código normalmente usamos vários  “Debug.print …”  para ver os resultados. Com a repetição dos testes  a Janela imediata vai ficando cada vez mais poluída e os resultados difíceis de serem lidos.

Este exemplo mostra como é possível limpar a Janela imediata sem ter que fazer isso  manualmente.

.

ReferênciaClear the Immediate Window

.

 Veja os termos de uso na página Sobre

.

Versão mini para você usar nos seus programas

.Clique aqui para ver a nova versão

.

Importe o formulário para o seu banco de dados , abra  e use para limpar a Janela imediata  nos seus programas. É do tipo PopUp, ou seja vai ficar sobre as outras janelas que estiverem abertas.

Tem as seguintes funções:

  • Limpar a Janela  imediata e permanecer no editor VBE
  • Limpar a Janela  imediata e permanecer na janela Access
  • Abrir o editor VBE
  • Fechar o formulário 

Ao experimentar, passe o mouse sobre os ícones para ver as funções.

Access exemplo : Transformar numerais em valores por extenso em Reais


Neste exemplo há uma função pronta para uso que transforma numerais em valores por extenso em Reais.
É só copiar e colar.

Baixar o arquivo

Veja os termos de uso na página Sobre