Valores repetidos num combobox!

Delphi

30/01/2004

Existe algum comando para eliminar registros repetidos de um Combobox utilizando paradox e Table????

Ex: Registro1 nome ( Macaco )
Registor2 nome ( Onça )
Registro3 nome ( macaco )

o Combobox só deve mostrar Macaco
Onça

Agradeço a atenção.


Renato Battaglia

Renato Battaglia

Curtidas 0

Respostas

Maicongabriel

Maicongabriel

30/01/2004

Se isto é apenas uma Seleção de Dados, não custa nada trocar o Table por uma Query com uma instrução do Tipo ::
SELECT DISTINCT ANIMAIS FROM TABELA

[i:f2f77391e9]E então preencher a ComboBox com os dados...[/i:f2f77391e9]


GOSTEI 0
Carlosrm

Carlosrm

30/01/2004

Renato,

Caso seja imperioso usar Table e Paradox, ou preencher o combobox com dados digitados pelo usuário (num edit, combobox...), ou pegar dados de um arquivo txt,... vc pode usar a função IndexOf como abaixo:

if (comboboxAnimais.Items.IndexOf(editi.text) = -1) then
comboboxAnimais.Items.Add(edit1.text);

ou seja, se o conteúdo no edit1 ja estiver na lista do combobox, seu índice será algo entre 0 ( o primeiro) e qualquer inteiro positivo (subtraído de 1), que corresponderá ao ao último item no combobox [recorde-se que os itens do combobox são indexados com base em zero (o primeiro índice recebe o valor 0)].
Se o índice retornado for -1, significa que não foi encontrado, isto é, o texto do edit1 ainda não foi adicionado no combobox. Então, é só adicionar.

Vale lembrar a dica do maicongabriel. Se vc criar uma query que retorne os animais sem repetição do nome dos animais, será mais simples usar um dbcombobox ligado ao campo animais da query. ´Tomaticamente´ já estarão os nomes sem repetição.
Se na época do Dilúvio já existisse SQL, provavelmente Noé teria selecionado os animais usando ´select Distinct Casal...´
Espero ter ajudado. carlosrm.


GOSTEI 0
POSTAR