Gente comparto la solucion a mi problema,
Los componentes que use como el query y dataset estan en DBExpress.
tube que agregar el modulo de datos creado en el dataset llamado dsetclientes en la propiedad commandtext
Código SQL
[-]where (clientes.localidad_nro=:LOCALIDAD) or (0=:LOCALIDAD)
ademas de las lineas que ya tenia este dataset como el select from y order by,
acomodar los dos parametros creados por medio de la propiedad params, que fue ponerle datatype ftInteger.
y en el clientedataset, llamado clidatos poner en la propiedad Params los dos parametros creados y ponerle el mismo nombre y el mismo datatype.
agregar en el formulario Clientes Un dblookupcombobox y en datasource y datafield nada. y en el listsource conectarlo con el query localidades llamado qrylocalidades que se encuentra en el modulo de datos,
dsp ir al formulario Clientes y en el evento OnShow
Código:
with clidatos do
begin
Close;
params.ParamByName('LOCALIDAD').AsInteger:=0;
Open;
end;
y dsp en el evento del combobox - OnExit
Código:
with Clidatos do begin
close; Params.ParamByName('LOCALIDAD').AsInteger:=dbcLocalidadFiltro.KeyValue;
open;
end;
chkTodos.Checked:=False;
agrege un Chekbox para poder ver todos los clientes en el cual en el evento OnClic puse:
Código:
dbcLocalidadFiltro.KeyValue:=null;
if chkTodos.Checked then begin
with clidatos do
begin
Close;
params.ParamByName('LOCALIDAD').AsInteger:=0;
Open;
end;
end;
para cuando presione si quiere ver en el combo aparesca en blanco y se vean todos los clientes
ademas en la propiedad de estos dos componentes puse TabStop false para que si el usuario apretara tab no pase por estos dos componentes. ya que es un filtro que si quiere hacerlo lo hace.
Hoy en la facu le pregunte al profesor como se hacia y me explico.
Muchas gracias por ayudarme y comparto con ustdes la solucion que use espero que me entiendan
.