RELACIONAR COMBOBOX

TUEDOIDOE 21/09/2010 19:18:56
#353535
Olá pessoal, estou com uma dúvida que a muito me persegue. Como faço para associar (relacionar) várias combobox, por exemplo:

--> Lista da ComboBox1 - Fruta / Verdura

--> Lista da ComboBox2 - Maça / Banana / Alface / Cenoura

Minha dúvida é: Quando selecionar a opção fruta na ComboBox1 como faço para aparecer na ComboBox2 somente as frutas e vice-versa para a opção verdura?

grato.
MARCOSLING 21/09/2010 19:24:19
#353539
Quando vc selecionar a ComboBox1, vc faz disparar a rotina que preenche a ComboBox2.
TUEDOIDOE 21/09/2010 19:36:13
#353541
Será que vc poderia ser mais claro. Acho que ja tentei algo parecido.
MARCELO.TREZE 21/09/2010 19:46:53
#353542
primeiro colega de onde vc bucará estes dados.

de um arquivo texto ou de um banco de dados, de onde?


TUEDOIDOE 21/09/2010 20:59:35
#353550
de um arquivo de texto
NLSOLUCOES 21/09/2010 21:32:55
#353552
Resposta escolhida
>
O Ideal seria vc trabalhar com ID de ambos ComboBox, mas como vc não especificou suas tabelas, irei mostra um exemplo e vc adapta.

Ao selecionar ComboBox1 vc irá fazer um filtro na tabela produtos só do tipo selecionado e aí então vc carregaria a ComboBox2 com o resultado da RecordSet

SELECT IdProduto, ProduNome,Tipo FROM Produtos WHERE Tipo = ComboBox1.text

ComboBox2.Clear
With rs
Do Until .EOF
[ô]inclui os itens correspondentes
ComboBox2.AddItem rs(ProduNome)
ComboBox2.ItemData(ComboBox2.NewIndex) = rs(IdProduto)
.MoveNext

Loop
[ô]fecha o recordset
.Close
End With

*-*-*-*

Agora se for com arquivo Texto, pegue o exemplo do link abaixo para apoio ao seu código.
http://www.macoratti.net/dica39.htm
<
TUEDOIDOE 22/09/2010 13:55:14
#353595
Muito Obrigado pela ajuda!

Achei um meio mais fácil para mim.
_____________________________________________________
Private Sub UserForm_Initialize()

ComboBox1.AddItem [Ô]Fruta[Ô]
ComboBox1.AddItem [Ô]Verdura[Ô]

ComboBox2.Visible = False
ComboBox3.Visible = False

End Sub

Private Sub ComboBox1_Change()

If ComboBox1.ListIndex = 0 Then
ComboBox3.Visible = False
With ComboBox2
.Clear
.Visible = True
.Left = 30
.Top = 80
.AddItem [Ô]Maça[Ô]
.AddItem [Ô]Banana[Ô]
End With

ElseIf ComboBox1.ListIndex = 1 Then
ComboBox2.Visible = False
With ComboBox3
.Clear
.Visible = True
.Left = 30
.Top = 80
.AddItem [Ô]Alface[Ô]
.AddItem [Ô]Tomate[Ô]
End With

End If
_____________________________________________________

Tópico encerrado , respostas não são mais permitidas