Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Dudas con filtros en interbase (https://www.clubdelphi.com/foros/showthread.php?t=25755)

Beberto 03-10-2005 08:10:58

Dudas con filtros en interbase
 
quiero filtrar registros por letra, pero no me funciona, use los mismos filtros que utilice antes en tablas paradox donde andan perfectamente pero en interbase no andan, probe por remplazar el = por el like pero no he conseguido poderlo hacer estos son mis lineas de codigo:

Código Delphi [-]
 articulos.filtered := false;
 articulos.filter := 'descripcion ='+quotedstr('A+*');
 articulos.filtered := true;
O

Código Delphi [-]
  articulos.filtered := false;
  articulos.filter := 'descripcion LIKE'+quotedstr('A+*');
  articulos.filtered := true;
desde ya gracias

dec 03-10-2005 08:28:12

Hola,

No me hagas mucho caso, pero, prueba con algo como "A%".

Echa un vistazo a este apartado de cierto Manual de SQL publicado en FireBird en español a ver si puede ayudarte algo más.

iuqrul 06-10-2005 13:25:07

El componente TIBQuery, no hace caso a la propiedad Filter, pero sí a filtered, pero usando el evento OnFilterRecord, de esta manera:

procedure TForm1.IBQuery1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
/*Condiciono Accept al valor de la primera letra del campo*/
Accept := DataSet.FieldByName('descripcion').AsString[1] = 'A';
end;

Salu2.

Luis Castillo 13-01-2006 14:33:57

No funciona?
 
Cita:

Empezado por iuqrul
El componente TIBQuery, no hace caso a la propiedad Filter, pero sí a filtered, pero usando el evento OnFilterRecord, de esta manera:

procedure TForm1.IBQuery1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
/*Condiciono Accept al valor de la primera letra del campo*/
Accept := DataSet.FieldByName('descripcion').AsString[1] = 'A';
end;

Salu2.


Lo que quieres decir es que no puedo usar la propiedad Filter en el TIBQuery?. Ahi si estoy fregrado....iba a ser la misma pregunta y encontre esto. No hay manera? porque el evento Onfilterrecord no me sirve.

maeyanes 13-01-2006 15:58:44

Así es, no se puede usar la propiedad Filter del componente TIBQuery.

Lo que puedes hacer (y es lo que yo hago), es modificar la propiedad SQL del mismo TIBQuery cuando quiero filtrar datos.

Código Delphi [-]
procedure TForm1.btnFiltrarClick(Sender: TObject);
begin
  IBQuery1.Close;
  IBQuery1.SQL.Text := 'select * from Tabla where Descripcion like ' +
    QuotedStr('A%');
  IBQuery1.Open
end;



Saludos...


La franja horaria es GMT +2. Ahora son las 20:27:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi