Evitar duplicidade na combobox

Delphi

01/05/2014

galera tenho essa rotina ela serve para alimentar um combobox, porem gostaria de saber como
não duplicar os dados mostrado nela

with DataModule1.tbl_estoque do
begin
Active:=True;
Close;
SQL.Clear;
sql.Add('SELECT * FROM TBLestoque') ;
Open;
while Not DataModule1.tbl_estoque.Eof do
begin
cbbx_tipo_produto.Items.Add(DataModule1.strngfld_estoquetipo_produto1.Value);

DataModule1.tbl_estoque.Next;
end;
with DataModule1.tbl_estoque do
begin
Close;
end;
end;


ex mesmo se eu cadastrar o um varias vezes só vai aparecer uma vez
1
2
3
4
5

e não assim que é o que esta acontecendo
1
1
2
2
3
4


[img]http://arquivo.devmedia.com.br/forum/imagem/361863-20140501-141240.png[/img]
Jose Silva

Jose Silva

Curtidas 0

Respostas

Jose Silva

Jose Silva

01/05/2014

alguem
GOSTEI 0
José Maciel

José Maciel

01/05/2014

No seu select da tabela você coloca um group

select [nome_do_campo] from [tabela] group by [nome_do_campo]


É a melhor maneira ao meu ver...
GOSTEI 0
Jaime Santos

Jaime Santos

01/05/2014

Amigo,

pelo que entendi você quer evitar a repetição. Se eu estiver correto no seu SQL você deverá utilizar a cláusula DISTINCT.

Veja mais em [url:descricao=USANDO O DISTINCT (DEVMEDIA)]https://www.devmedia.com.br/usando-o-distinct/9570[/url]

Att.
GOSTEI 0
Jose Silva

Jose Silva

01/05/2014

Primerio obrigado pela ajuda
mas ta dando erro
de um lado resolveu igual a imagem abaixo
[img]http://arquivo.devmedia.com.br/forum/imagem/361863-20140502-140955.jpg[/img]
mas do outro nada

aconteçe assim
na tablea1 dou entrada no produto ex nome=arroz tipo=alimento

[img]http://arquivo.devmedia.com.br/forum/imagem/361863-20140502-141955.jpg[/img]

na tabela2 cadastro esse produto ex nome = arroz quantidade = 20 , quantidade_entrada= 20 data= 03/05/2014 valor=3,99

[img]http://arquivo.devmedia.com.br/forum/imagem/361863-20140502-142114.jpg[/img]
é nessa tabela que duplica os item pelo que vi
cada vez que eu cadastro um produto
sql.Add('SELECT DISTINCT * FROM TBLestoque ') ;
with DataModule1.tbl_estoque do
begin

Close;
SQL.Clear;
sql.Add('SELECT DISTINCT * FROM TBLestoque ') ;
Open;
while Not DataModule1.tbl_estoque.Eof do
begin

cbbx_tipo_pro_saida.Items.Add(DataModule1.strngfld_estoquetipo_produto1.Value);
DataModule1.tbl_estoque.Next;
end;
with DataModule1.tbl_estoque do
begin
Close;
end;
end;

[img]http://arquivo.devmedia.com.br/forum/imagem/361863-20140502-141017.jpg[/img]



GOSTEI 0
Alessandro Yamasaki

Alessandro Yamasaki

01/05/2014

Quais campos são necessários para a busca do seu combo? Dois campos, acredito eu, sendo um deles o codigo e outro será a descrição.
Se eu estiver correto, acredito que o sql deverá ser assim

SELECT DISTINCT NOMEPRODUTO, CODIGO FROM TABELA,
ORDER BY NOMEPRODUTO
GOSTEI 0
Jose Silva

Jose Silva

01/05/2014

valeu alessandro
mas um problema que detectei foi que eu estou buscando o nome do produto da tabela onde u salvo tudo
essa tabela salva todos os intem que dou saida ou entrada
sempre ia duplicar

resolvi aqui
valeu a todos
GOSTEI 0
POSTAR