Ver Mensaje Individual
  #15  
Antiguo 16-10-2008
Avatar de RebeccaGL
RebeccaGL RebeccaGL is offline
Miembro
 
Registrado: ene 2008
Posts: 199
Reputación: 19
RebeccaGL Va por buen camino
La condición esta mal. Ponle >= y <=

Código Delphi [-]
 
procedure TForm1.Edit1Change(Sender: TObject);
begin
// filtrar o localizar
if (not cbFiltrar.Checked) then begin
// Busqueda incremental
  ClientDataSet1.Locate('Campo4', Edit1.Text, [loCaseInsensitive, loPartialKey]);
Exit;
end
else begin
// esto sería para filtrar
  if (Edit1.Text = '') then 
    begin
      ClientDataSet1.Filtered := false;
      ClientDataSet1.Filter := '';
   end
else 
  begin
    try
      ClientDataset1.Open;
      ClientDataSet1.Filter := '(Campo4 >=' +QuotedStr(Edit1.Text) +') and (Campo5 <= '+QuotedStr(Edit2.Text)+ ')';
      ClientDataSet1.Filtered := True;
    except
      ClientDataSet1.Filtered := false;
      ClientDataSet1.Filter := '';
    end;
  end;
end;
end;

Te Explico si es (igual Edit1.text) no podra ser (igual a edit2.text)
Asi es que lo que tienes que hacer es, poner entre rangos osea:

de 1 a 100 solo quiero de 10 a 20 seria asi

if (>= 10) and (<= 20) then ...

Lo mismo con los flitros.

Saludos

Última edición por RebeccaGL fecha: 16-10-2008 a las 16:28:58.
Responder Con Cita