Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Gersonl

RESOLVIDO Caixa de combinação - Acess

Recommended Posts

Bom dia galera, sou iniciante em Access 2007 e meu problema é o seguinte.

Criei um formulário de pesquisa filtrada. Primeiramente eu seleciono em uma caixa de combinação o campo que vou pesquisar. Feito isso a caixa de texto é ativada e passo a digitar o que eu quero buscar. Porém preciso que ao selecionar o valor na caixa de combinação eu altere o critério de busca da caixa de listagem.

Desse modo se eu selecionar Nome, ele vai lá na caixa de listagem / Origem da linha e coloca o código com os critérios da busca.
Acredito que isso não seja difícil, porém ainda não sei fazer. Alguém pode me ajudar?

Editado por Gersonl

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então galera eu consegui resolver, então vou postar aqui, caso alguém queira.

Eu inicio o formulário com a Caixa de Texto, onde será digitada a pesquisa, bloqueada.
A pessoa seleciona na Caixa de Combinação o campo que deseja. E nas propriedades da Caixa de Combinação, Evento, Ao alterar eu escrevo o seguinte código:
 

Comb_Pesquisa.SetFocus
 
If Comb_Pesquisa.Text = "Nome" Then
Lista0.RowSource = "Consulta_Nome"
Me.Comando8.Enabled = True
Me.Txt_Pesquisa.Enabled = True
Txt_Pesquisa.SetFocus
ElseIf Comb_Pesquisa.Text = "Gerador" Then
Lista0.RowSource = "Consulta_Gerador"
Me.Comando8.Enabled = True
Me.Txt_Pesquisa.Enabled = True
Txt_Pesquisa.SetFocus
ElseIf Comb_Pesquisa.Text = "Embalagem" Then
Lista0.RowSource = "Consulta_Embalagem"
Me.Comando8.Enabled = True
Me.Txt_Pesquisa.Enabled = True
Txt_Pesquisa.SetFocus
End If

Como podem ver eu fiz um "if" em que dependendo do que é selecionado (Nome, Gerador ou Embalagem) o código altera a Origem da Linha (RowSouce) da Caixa de listagem. Para isso eu criei 3 Consultas diferentes (Consulta_Nome, Consulta_Gerador, Consulta_Embalagem).

Nas Consultas eu coloquei no modo SQL e montei um código que faria a pesquisa de acordo com o que eu digitasse na Caixa de Texto. Segue um dos códigos:

 

SELECT TabU.id_TabU,

                 Embalagem.Tipo_Embalagem AS Embalagem,

                 TabU.Nome_TabU AS Nome,

                 Gerador.Nome_Gerador AS Gerador,

                 TipoTabU.Descricao_TipoTabU AS Tipo,

                 TabU.Tratamento_TabU AS Tratado,
                 TabU.Massa_TabU AS Massa,
                 TabU.Volume_TabU AS Volume,

                 TabU.Qtd_TabU AS Qtd

FROM TipoTabU INNER JOIN (Gerador INNER JOIN (Embalagem INNER JOIN TabU ON Embalagem.id_Embalagem=TabU.Embalagem_TabU) ON Gerador.id_Gerador=TabU.Gerador_TabU) ON TipoTabU.id_TipoTabU=TabU.Tipo_TabU
WHERE (((Embalagem.Tipo_Embalagem) Like [Formulários]![Frm_PesquisaTot]![Txt_Pesquisa] & "*"))
ORDER BY Embalagem.Tipo_Embalagem;

O diferencial do código está no "Where". Depois disso basta ir na Caixa de Texto do Formulário, Propriedades, Evento, Ao alterar e colocar o seguinte código:
 

Me.Refresh
SendKeys "{f2}"
 
Que servem para atualizar instantaneamente a Caixa de Listagem e colocar o indicador na última letra da Caixa de Texto respectivamente.

E é isso, qualquer dúvida podem perguntar.
Editado por Gersonl

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×