Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   propiedad filter de un ttable (https://www.clubdelphi.com/foros/showthread.php?t=69726)

gonza_619 04-09-2010 05:24:49

propiedad filter de un ttable
 
hola miren , necesito que al ejecutar el programa cuando me dirijo a un form
la tabla que me aparece en un dbgrid me aparezca filtrada por un campo.
en este caso por un campo "aprobado" de la tabla Materias.
bien he probado con la propiedad filter de ese mismop table, es decir en el espacio al lado de filter puse (estado=aprobado) , claro sin los parentesis
bueno pero no se filtra, alguien me mostro q se podia pero no me sale.
estaria bien asi de ese modo o como seria en tal caso? gracias. no utilizo tquery. las tablas las hice en paradox

ecfisa 04-09-2010 08:10:18

Hola.

Si tu tabla se llama 'Materias' y el campo por la que debe filtrarse se llama 'aprobado', es lógico inferir,
que el valor que pueda tomar 'aprobado' sea: 'SI','NO' o 'S','N'.
Por que la eximición de una matéria es bivalente, o se aprueba o se rinde exámen... :)

Entonces con 'Materias' y 'aprobado' sería:
Código Delphi [-]
procedure TForm1.FiltrarTabla(Valor: string);
begin
  with Materias do
  begin
    Filtered:= False;
    Filter:= 'aprobado = ' + QuotedStr(Valor);
    Filtered:= True;
  end;
end;

Lo que no veo donde hubicarlo, ya que no sé de donde salió ni que función tiene es: 'estado'... :confused:

Saludos.

ermaska 20-11-2010 16:24:58

FILTRAR TABLA POR CAMPO ¿Estado?
 
Por lo que te entiendo, lo que querrías es algo así:

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables;
type
TForm1 = class(TForm)
Table1: TTable;
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure FiltrarTabla(Valor:String);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FiltrarTabla(Valor:String);
begin
Table1.Filter:='Estado='+Quotedstr(Valor);
Table1.Filtered;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
FiltrarTabla;
end;
end.


Donde:
Table1: Sería tu tabla
Estado: Sería el campo por el que quieres filtrar
Valor: Sería el valor que quieres que tenga el campo Estado
en el filtrado
En este ejemplo cada vez que se activase el formulario (Form1) Se filtraría la tabla (Table1) por el campo (Estado) y con el valor (Valor).

Espero haberte sido de ayuda.


La franja horaria es GMT +2. Ahora son las 20:30:14.

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