ELIMINAR ITENS DE UM COMBOBOX

PEPPERRJ 12/12/2009 10:16:05
#329578
Prezados,

Meu programa foi desenvolvido em VB6 (SP6) e o banco de dados é Access 2003.
O problema:
O programa tem um combobox com itens capturados em uma tabela. Deseja- se selecionar um item do combobox e, a seguir, eliminá-lo da tabela de modo a que não possa mais selecionado durante essa [Ô]corrida[Ô].
Para eliminar o primeiro item usei a seguinte rotina (dica do VBMania):

Private Sub subEliminaEvento()
[ô] Elimina o Evento (Convite para)
If cboEventos.ListIndex < 0 Then
cboEventos.ListIndex = 0
End If
cboEventos.RemoveItem cboEventos.ListIndex
cboEventos.Text = cboEventos.List(0)
End Sub

Ocorre que ela elimina sempre o primeiro item do combobox (listIndex = 0).
Como faço para eliminar qualquer outro item ?
Para isso precisaria que ListIndex contivesse o número do item correspondente.

Alguma dica ?
Ou sabem dizer onde pesquisar...

Antecipadamente grato
ROBIU 12/12/2009 10:41:51
#329581
Resposta escolhida
A rotina deveria excluir o item selecionado. Para isso devemos verificar se há itens no list e se existe algum selecionado antes de remover. teste assim:

If CboEventos.ListCount = 0 Then Exit Sub [ô]Verifica se o list tem registros
If CboEventos.ListIndex < 0 Then Exit Sub [ô]Verifica se tem um item selecionado
CboEventos.RemoveItem CboEventos.ListIndex [ô]Caso as condições acima sejam válidas, deleta o item selecionado
If CboEventos.ListCount > 0 Then CboEventos.ListIndex = 0 [ô]Se ainda existir itens, seleciona o primeiro
PEPPERRJ 12/12/2009 11:54:17
#329584
Robiu,

Acho que não fui muito claro na descrição do problema.
Na primeira vez que aciono o combobox eu seleciono um item (digamos o 3º item) e desejo eliminá-lo do combobox, pois continuarei usando esse mesmo combobox para selecionar qualquer item, exceto aquele que já que foi o primeiro a ser selecionado.

SDS
ROBIU 12/12/2009 13:17:11
#329586
Mas o código acima faz exatamente isso. Se selecionar o 3º item e chamar a sub, vai eliminá-lo do list. Se não for isso, explique com exemplo
PEPPERRJ 12/12/2009 17:15:38
#329593
Robiu,

Vc tem toda razão.
O que ocorreu é que eu copiei errado sua solução, que funciona perfeitamente.
Desculpe o engano.
Fico muito grato.
SDS/Sergio
Tópico encerrado , respostas não são mais permitidas