ID DE UMA TABELA NA COMBO

VPVJUNIOR 30/04/2005 15:58:40
#81128
Olá pessoal, tenho uma tabela com os campos ID e DESCRICAO,eu consegui jogar em uma combo a DESCRICAO, mas gostaria de quando selecionar uma DESCRICAO, ela me troussesse o seu ID que é do tipo CHAR(4). Como fazer isso, exemplo de como eu preencho minha combo em meu código:

RS.Open "Select ID,DESCRICAO from ORGAO", DBCon, adOpenKeyset, adLockReadOnley
RS.MoveFirst
While Not RS.EOF
Combo1.AddItem RS!DESCRICAO
RS.MoveNext
Wend

Obrigado pela ajuda. Abraços.
USUARIO.EXCLUIDOS 30/04/2005 18:24:08
#81153
Resposta escolhida
Olá amigo,

Primeiramente lhe sugiro que deixe de usar o tipo CHAR(4) para ID, para evitar maiores problemas. Use TINYINT, SMALLINT, INT...

Segundo, você irá usar a propriedade ITEM DATA para armazenar o ID, como o exemplo abaixo:


Combo1.AddItem RS!DESCRICAO
Combo1.ItemData(cboOrgao.NewIndex) = RS!ID
USUARIO.EXCLUIDOS 30/04/2005 18:25:45
#81154
Esqueci duma coisa, para recupera o item selecionado, use o código:


Combo1.ItemData(Combo1.ListIndex)
ALEXANDRE.SANTO 30/04/2005 18:28:13
#81157
Tenta assim no evento LostFocus da combo ou change seila.......mas o codigo seria este para encontrar o ID

RS.Find "DESCRICAO = '" & Combo1.Text & "'"

vID = Rs!ID

msgbox "O ID desta descricao é " & vID
USUARIO.EXCLUIDOS 30/04/2005 18:31:29
#81158
Alexandre,

O código que você passou, na minha visão possui dois pontos negativos:

1. Se o style do combo está definido como Dropdown list, o código não irá funcionar.
2. Vai que o cara têm duas descrições iguais pra IDs diferentes?
Tópico encerrado , respostas não são mais permitidas