Dandole una vuelta el tema podria ser así..
Consulta
[delphi]
Código Delphi
[-]
procedure RellenarCombo( DS:TIBQuery; AFieldname:String; var cbCombo:TComboBox);
var
iX : integer;
begin
cbCombo.Items.Clear;
cbCombo.Items.Text:= DS.FieldByName(AFieldName).AsString;
cbCombo.ItemIndex := 0;
end;
DMDatos.ConsultaSql('SELECT ''TODOS''||ASCII_CHAR(13)||LIST(DEPARTAMENTO,ASCII_CHAR(13)) as DATO FROM (SELECT DISTINCT DEPARTAMENTO FROM NACIMIENTOS))');
RellenarCombo(DMDatos.IBConsultaSql,'DATO',CBDpto);
Pues eso nada mas...
Este codigo hace uso de la funccion
LIST que es de Firebird... Si es otro DBMS creo que no serviria...