no quiero decir que las formas anteriores de solucionarlo no son validas, solo quiero aportar una forma diferente de hacerlo,
llegue hasta aqui buscando como llenar un combobox desde un clientdataset, no me apetece hacer otra consulta sql con distinct porque estoy partiendo del hecho que ya tengo la informacion en un clientdataset, solo quiero que el combobox coincida con la informacion del clientdataset que estoy mostrando en un grid
este es mi codigo
Código Delphi
[-]
begin
adoquery1.Close;
adoquery1.SQL.Text:='select c.sucursal, c.id, c.mov, c.movid, c.fechaemision ' +
' , c.proveedor,prov.nombre , c.usuario, c.referencia, ' +
' c.importe, c.moneda, c.tipocambio, c.condicion, c.autorizacion' +
' from compra c ' +
' join prov on prov.proveedor=c.proveedor ' +
' where c.mov=' + quotedstr('ECN') +
' and c.estatus=' + quotedstr('SINAFECTAR') +
' order by c.sucursal,c.proveedor';
adoquery1.Prepared:=true;
adoquery1.Open;
cbUsuario.clear;
cbUsuario.Items.Add('TODOS'); clientdataset1.First;
while not clientdataset1.Eof do
begin
if cbUsuario.items.indexOf(clientdataset1.FieldByName('usuario').AsString)<=0 then
cbUsuario.Items.Add(clientdataset1.fieldByName('usuario').asstring);
clientdataset1.Next;
end;
cbUsuario.ItemIndex:=0; cbUsuario.style:=csDropDownList;
end
la informacon consultada son pocos registros, no mas de 50, de esta manera evito enviar otra consulta por separada al servidor sql