POSICIONAR DADO NO COMBOBOX

DUMMIES 29/10/2009 19:39:17
#326538
Olá estou usando um combobox no stilo Dropdown List
Atribio os dados assim:
cmbGrupo.AddItem [Ô]Antenas[Ô]
cmbGrupo.ItemData(cmbGrupo.NewIndex) = 200
cmbGrupo.AddItem [Ô]Alarmes[Ô]
cmbGrupo.ItemData(cmbGrupo.NewIndex) = 250
cmbGrupo.AddItem [Ô]Receptores[Ô]
cmbGrupo.ItemData(cmbGrupo.NewIndex) = 300

Até ai tudo bem, eu estou gravando no banco de dados os valores 200,250,300 conforme for selecionado no combo.
Bom, como eu disse no banco fica gravado os valores 200,250,300.
Agora eu fiz uma consulta no BD e quero que seja apresentado a descição referente aos valores, ou seja :
Para 300 = [Ô]Receptores[Ô]
Para 250 = [Ô]Alarmes[Ô]
Para 200 = [Ô]Antenas[Ô]

Mas não estou conseguindo.
Vejam como faço, depois da consulta:

cmbGrupo.index = rst.field([Ô]codigo[Ô]).values [ô]que é igual a 300 por exemplo
Como o rst vale 300 e o combo não existe esse index, então dá erro.

Lembrando que os três dados estão no combobox, eu apenas preciso que posicione no indice correto, confome a consulta do usuário.


Se alguém puder me ajudar nessa, agradeço desde já.

[]s


[txt-size=1] [/txt-size][txt-size=2] [/txt-size]
TECLA 29/10/2009 20:44:57
#326547
[txt-color=#088A08][ô] Selecionar o item ANTENA[/txt-color]
Dim i As Byte
For i = 0 To Combo1.ListCount - 1
If Combo1.ItemData(i) = 200 Then Combo1.ListIndex = i
Next i
EDERMIR 30/10/2009 07:42:10
#326556
Resposta escolhida
Citação:

TECLA escreveu:

[txt-color=#088A08][ô] Selecionar o item ANTENA[/txt-color]
Dim i As Byte
For i = 0 To Combo1.ListCount - 1
If Combo1.ItemData(i) = 200 Then Combo1.ListIndex = i
Next i


Desculpe Tecla, vou apenas explicar.

DUMMIES.
Quando você [Ô]povoa[Ô] um COMBO ou LIST (por exemplo) a posição é identificada como ORDINAL. O primeiro é o 0 (zero), depois 1,2,3...

Como você está armazenando um código e que TEORICAMENTE não vai colocar na mesma posição, foi utilizado o ITEMDATA. Então a pesquisa deve ser feita no ITEMDATA para encontrar a posição ORDINAL e então mostrar a descrição.

Usando o exemplo do TECLA, se a sua pesquisa representa a busca para o código 200, então:

[ô] Selecionar o item ANTENA
Dim i As Byte
For i = 0 To Combo1.ListCount - 1
If Combo1.ItemData(i) = RS!CODIGO Then
Combo1.ListIndex = i
exit for
endif
Next i
Tópico encerrado , respostas não são mais permitidas