Me he hecho un pequeño ejemplo , pero no me llega a salir .
He puesto dos tablas con sus datasources . He creado en una el campo de lookup .
He puesto un Query con su datasource , y en el SQL del Query he escrito lo siguiente :
select distinct(concepto) from nominas // concepto es integer claro esta .
Luego pongo el DBGrid con el datasource de la tabla . Pongo el DBLookupCombobox , con el datasource ,también de la tabla , el mismo que el DBGrid .
y en la propiedad DataChange del datasource del Query escribo lo siguiente :
Código Delphi
[-]
procedure TForm1.dsqueryDataChange(Sender: TObject; Field: TField);
begin
nomina.Filter:= 'concepto = ''' + IntToStr(Query1.FieldByName('concepto').AsInteger) + '''';
nomina.Filtered := True; end;
end.
El caso es que me sale filtrado , pero el DBlookupcomobox , no me permite mover entre registros , es imposible cambiar de registros .