Creo que el query en el formulario está de más, debería estar en el datamodule y enlazado conun datasource. Pero va en gustos.
Yo lo que hago es esto.
- En el form creo una property string y voy recolectando todos los códigos que quiero buscar. Entonces en un tdblookupcombobox muesto los nombres y en otro los códigos. Los dos tdblookupcombobox me devuelven los códigos.
- Despues que termino de recolectar los paso como parámeto a un procedimiento en el datamodule y hago la búsqueda.
Código Delphi
[-]
procedure TdmHorarios.filtrarPersonal(lasPersonas: string);
var elSQL: string;
begin
elSQL:='AND P.IDPERSONA IN ('+lasPersonas+')';
zroqPersonal.close;
zroqPersonal.SQL.Add(elSQL);
zroqPersonal.Open;
end;
- En un dbgrid enlazado al datasource y este enlazado al dataset se muestran los resultados de la búsqueda.
Espero te sirva.
No dudes en repreguntar.
Saludos.