Access – Caixa de combinação (ComboBox)

CaixaCombinacao

Esta é uma coletânea de exemplos sobre a Caixa de combinação.

Ela é acompanhada por uma Ajuda que dá as explicações básicas sobre a estrutura dos dados nas caixas de combinação e descreve suas principais propriedades.

Lista dos exemplos :

Versão 01 (02/03/2013)

  • Ajuda – Exemplo associado à Ajuda
  • Atualizar os itens da Caixa de combinação em tempo de execução
  • Caixas de combinação em cascata – Usando SQL
  • Caixas de combinação em cascata – Usando uma consulta
  • Filtrar dados em um formulário
  • Filtrar dados em um subformulário
  • Filtrar um campo númérico que tem vírgula
  • Filtrar uma data
  • Formatação – Evitando mostrar itens em branco na Caixa de combinação
  • Formatação – Expandir a lista ao entrar na Caixa de combinação
  • Formatação – Expandir a lista quando se passa o mouse sobre a Caixa de combinação
  • Formatação – Limpar o item selecionado na Caixa de combinação
  • Formatação – Mostrar lista de itens únicos na Caixa de combinação
  • Inserir (Todos) em uma Caixa de combinação
  • Inserir itens em uma Caixa de combinação
  • Inserir os itens de uma Caixa de combinação a partir de uma SQL
  • Preencher de campos do formulário a partir de uma Caixa de combinação
  • Selecionar o registro que coincide com o valor da Caixa de combinação
  • Selecionar registro em formulário – FindRecord

Esta é uma obra em aberto. Se nenhum dos exemplos resolve o seu caso, deixe um comentário descrevendo o seu problema. Se eu souber resolver e, na medida da minha disponibilidade, vou incorporando as soluções nas versões futuras.

BaixarZIPVeja os termos de uso na página Sobre

Armazenando a sintaxe de um campo

SintaxeV2

Este exemplo mostra como usar a instrução Screen para determinar onde um campo está localizado dentro de um formulário, subformulário ou sub-subformulário.

A partir das informações coletadas, é possível construir a sintaxe completa do campo.

Essa sintaxe é armazenada em variáveis e pode ser usada para atribuir o valor de um campo de um segundo formulário (ou uma variável) ao campo que foi selecionado inicialmente,  sem a necessidade de reescrever a sintaxe desse campo.

Versão anterior atualizada em 19/03/2013 – Inclui o uso de um subformulário não acoplado.

BaixarZIP

Referindo-se a propriedades e controles de formulários e subformulários

Referindose

Selecione as opções desejadas em cada um dos quadros e verifique a sintaxe correspondente.

Para usar, importe a tabela e o formulário existentes no arquivo para o seu banco de dados.

BaixarZIPVeja os Termos de Uso na página Sobre

Menu em formulário V.2

Este exemplo é um aperfeiçoamento do exemplo “Menu em formulário” existente no blog.

Com ele é possível  criar um menu suspenso (Drop-Down) em um formulário contendo até dois sub-menus.

Os menus são abertos quando se passa o mouse sobre as opções.

Os sub-menus são formulários e por isso, neles podem ser adicionados quaisquer controles existentes na caixa de ferramentas, tais como caixas de combinação ; grupos de opção; imagens etc , o que dá uma versatilidade de uso não encontrada nos menus padrão do Access.

É possível definir o estilo dos menus, seja através do uso de cores ou ainda de imagens de fundo.

Algumas capturas de tela (Clique para ampliar)

Mais detalhes

Versão de demonstração   (Esta que você está vendo)

Versão para montagem

Arquivo de ajuda   (Arquivo .chm)

Veja os termos de uso na página Sobre

Access – Seleção de horário

Abre uma janela para seleção do horário sob um campo do tipo Data/Hora.

A janela é aberta sempre  sob o campo,  independente de quantos campos desse tipo você usar e do posicionamento do formulário na tela.

Para usá-lo você deve importar o formulário “Horas” e o módulo existente (modPositionWindow) para  o seu banco de dados e copiar o código existente no evento Ao Clicar do exemplo e colar no seu campo tipo Data/Hora.

A hora está no formato : Hora abreviada.

O código está comentado.

Referência :  O módulo foi desenvolvido por Stephen Lebans e pode ser encontrado  no link abaixo :
http://www.lebans.com/openform.htm

 Leia os termos de uso na página Sobre

Access – Corretor de dados

Quando usamos uma caixa de combinação para inserir dados em uma tabela, não é incomum nos depararmos com uma lista de itens como a da figura abaixo.  Ou seja, itens inseridos com digitação incorreta.

Este formulário serve para corrigir esse tipo de problema.

Para usá-lo, você deve importar o formulário para dentro do seu banco de dados, selecionar a tabela e o campo a ser corrigido e então fazer a substituição da palavra certa pela errada.

Funciona para todos os campos do tipo numérico, texto , data, sim/não e hyperlink.

É uma interface amigável para quem tem esse tipo de problema e não está familiarizado com o uso de consultas.

Para quem está acostumado a trabalhar com consultas no Access o programa pode ser comparado a uma consulta atualização onde o campo Substituir correponde ao Critério e o campo Por corresponde a Atualizar para.

O arquivo .mdb é acompanhado por um arquivo de ajuda (.chm).

Se quiser verificar as características do programa antes de baixá-lo, clique aqui (pdf)

 Veja os termos de utilização na página Sobre

Os dados da tabela refletem os dados do seu formulário ?


Quando você altera o conteúdo de um campo no seu formulário, para que essa alteração seja refletida na Tabela associada ao formulário é necessário salvar o registro atual.

Se você não salvar o registro, um recordset criado a partir da Tabela vai mostrar os dados desatualizados em relação ao formulário.

O exemplo demonstra esse efeito e mostra 4 opções para salvamento do registro.

A opção “Propriedade Dirty” foi baseada na página :

Quickly save the current record in Access using code

Veja os termos de uso na página Sobre

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

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.

Abrir formulário no Access

.

Mostra todas as opções de abertura de um formulário usando código VBA no Access.

Demonstra o uso do método OpenForm do objeto DoCmdcom os argumentos : FormName; View;  FilterName ; WhereCondition; DataMode; WindowMode e OpenArgs. Leia mais …

Fechando formulários

Este exemplo mostra 3 maneiras de fechar formulários:

1) Como fechar seletivamente formulários abertos que tenham parte do nome em comum (no exemplo : “aaa”) .

2) Como fechar todos os formulários abertos, menos aquele de onde partiu a instrução de fechamento.

3) Como fechar todos os formulários inclusive aquele de onde partiu a instrução de fechamento.

A adaptação para seu uso é simples e está descrita no exemplo.

Veja os termos de uso na página Sobre

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 32 outros seguidores