COMBOBOX
Olá pessoal,
Gostaria de uma ajuda.
Estou criando um cadastro de cliente que utilizo um combobox para seleciona o status.
A origem desta combo é uma tabela que possui 2 campos:
IDStatus
Status
Quando abro o formulário eu executo o seguinte comando para popular a combo:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Function carregaStatus()
Set rsB = New ADODB.Recordset
strSQLBasico = [Ô]SELECT * FROM Tab_Status[Ô]
rsB.Open strSQLBasico, cnn.connOrcamento, adOpenDynamic, adLockOptimistic, adCmdText
Do Until rsB.EOF
IDStatus.ItemData(IDStatus.NewIndex) = (rsB!IDStatus)
IDStatus.AddItem IIf(IsNull(rsB!Status), [Ô][Ô], rsB!Status)
rsB.MoveNext
Loop
rsB.Close
Set rsB = Nothing
End Function
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pois bem......eu tenho a tabela de cliente que esta gravado o IDStatus. Agora quando eu abro a tabela de cliente para popular a tela d cadastro, eu não consigo atribuir o ItemData ao combobox para aparecer Ativo ou inativo.
Agradeço antecipadamente.
Abraços.
Dhelp
Gostaria de uma ajuda.
Estou criando um cadastro de cliente que utilizo um combobox para seleciona o status.
A origem desta combo é uma tabela que possui 2 campos:
IDStatus
Status
Quando abro o formulário eu executo o seguinte comando para popular a combo:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Function carregaStatus()
Set rsB = New ADODB.Recordset
strSQLBasico = [Ô]SELECT * FROM Tab_Status[Ô]
rsB.Open strSQLBasico, cnn.connOrcamento, adOpenDynamic, adLockOptimistic, adCmdText
Do Until rsB.EOF
IDStatus.ItemData(IDStatus.NewIndex) = (rsB!IDStatus)
IDStatus.AddItem IIf(IsNull(rsB!Status), [Ô][Ô], rsB!Status)
rsB.MoveNext
Loop
rsB.Close
Set rsB = Nothing
End Function
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pois bem......eu tenho a tabela de cliente que esta gravado o IDStatus. Agora quando eu abro a tabela de cliente para popular a tela d cadastro, eu não consigo atribuir o ItemData ao combobox para aparecer Ativo ou inativo.
Agradeço antecipadamente.
Abraços.
Dhelp
Se eu entendi bem a dúvida faça isso:
Me.SeuCombo.ListIndex = StatusDoCliente
Claro q vc deve carregar o combo e o cliente antes disso
Me.SeuCombo.ListIndex = StatusDoCliente
Claro q vc deve carregar o combo e o cliente antes disso
Tente colocar ao contrário:
...AddItem...
...ItemData...
...AddItem...
...ItemData...
DHELP, primeiro vc tem q popular o ComboBox
Depois existe 2 formas:
ou então:
Mas num esquece, antes vc tem q Popular o Combo com todos os estatus possÃveis.
Depois existe 2 formas:
cbo.Text = rs!Status
ou então:
for i = 0 to cbo.ListCount
if cbo.ItemDaata(i) = rs!IDStatus then
cbo.ListIndex = i
end if
next
Mas num esquece, antes vc tem q Popular o Combo com todos os estatus possÃveis.
do until rs.eof
cbo.AddItem rs!Status
cbo.ItemData(cbo.NewIndex) = rs!IDStatus
rs.movenext
loop
preenchido o combo
basta vc associar na consulta assim
basta vc associar na consulta assim
SQL = [Ô]Select * From tabelaCliente Where id = [Ô] & Combo.ItemData(Combo.ListIndex)
Tópico encerrado , respostas não são mais permitidas