Ir ao conteúdo
  • Cadastre-se

Excel Carregamento de dados de combobox denpendente


Ir à solução Resolvido por Basole,

Posts recomendados

Boa tarde. Estou tentando adpatar um código para que minha combobox se relacionem.

 

O problema é o seguinte:

 

Tenho duas combobox, a primeira se relaciona  e recebe os dados da coluna ramal (filtro1) do meu banco de dados access e a segunda se relaciona e recebe os dados da coluna empresa do meu banco do acess.

O que eu preciso é que ao aplicar o filtro (ramal) como INTERNO ele só carregue na combobox 2 os dados das empresas que são internas, não traga para a combobox o nome das empresas com ramal externo no filtro2.

utilizo esses códigos:

 

'SUBS PARA PREENCHIMENTO DE COMBOBOX===========================================================================
Sub Ramalcombobox()
conectdb
'a palavra Distinct serve para remover os nomes repetidos e order by para colocar em ordem alfabética
rs.Open "Select distinct Ramal from TabCadastro order by Ramal", db, 3, 3
Do Until rs.EOF
Me.filtro1.AddItem rs!Ramal
rs.MoveNext
Loop
FechaDb
End Sub
Sub empresacombobox()
conectdb
'esse comando deveria permiti carregar os nomes das empresas ao se relaciona com coluna ramal
rs.Open "Select distinct Empresa from TabCadastro Where Ramal like '%" & Me.Filtro2.Value & "%'  order by Empresa", db, 3, 3
Do Until rs.EOF
Me.Filtro2.AddItem rs!Empresa
rs.MoveNext
Loop
FechaDb
End Sub

Private Sub UserForm_Initialize()
Call empresacombobox
Call Ramalcombobox
End Sub

Utilizei como referencia o vídeo do programador excel. No vídeo ele fala sobre esse código no tempo de 21:45.

 

https://www.youtube.com/watch?v=kCHkLzS6n7w

 

 

@Basole saberia o que foi que fiz de errado?

 

 

Segue o anexo! Desde já agradeço a ajuda de todos.

 

 

 

Projeto.rar

Link para o comentário
Compartilhar em outros sites

  • Solução

@josequali veja se é isso que entendi:

 

 

Para carregar os dos dados na combobox, filtro2 (empesa), usei o evento change da combobox filtro1

 

Private Sub filtro1_Change()

   Call empresacombobox

End Sub

 

Para carregar os dos dados na combobox, filtro1 (Ramal), useio evento Activate, do userform

 

Private Sub UserForm_Activate()

    Call Ramalcombobox

End Sub

 

E na rotina empresacombobox, fiz apenas uma alteracao referenciando os dados do filtro1 

 

Sub empresacombobox()
conectdb
'esse comando deveria permiti carregar os nomes das empresas ao se relaciona com coluna ramal
rs.Open "Select distinct Empresa from TabCadastro Where Ramal like '%" & Me.filtro1.Text & "%'  order by Empresa", db, 3, 3

Me.Filtro2.Clear
Do Until rs.EOF
Me.Filtro2.AddItem rs!Empresa
rs.MoveNext
Loop
FechaDb
End Sub

 

* Desconsiderei o evento Initialize do Userform. 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!