Ver Mensaje Individual
  #14  
Antiguo 04-09-2010
liito16 liito16 is offline
Miembro
 
Registrado: ago 2010
Posts: 34
Reputación: 0
liito16 Va por buen camino
Solucion

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 .
Responder Con Cita