Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Filtrar una tabla paradox (https://www.clubdelphi.com/foros/showthread.php?t=4938)

lbidi 03-11-2003 14:26:41

Filtrar una tabla paradox
 
Hola.
Tengo una pequeña agenda hecha con bde y tabla pdx.
La muestro con un grid sin problemas. Ahora necesito
poder filtrarla pej. x nombre, y/o direccion, y/o telefono, etc, etc.
Que me conviene utilizar , filtros o un query? He intentado hacer un query pero no supe redibujar la grid con los datos obtenidos del query, me explico?

Gracias y disculpen mi ignorancia. :(
Leonardo
lbidi@dsa.com.uy

marcoszorrilla 03-11-2003 15:43:38

Si usas un Query, tendrás que unir la rejilla a través de un TDataSource que apuntará al Query, no a la Tabla.
Código:

Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('Select * from Agenda');
Query1.Sql.Add('Where nombre = ');
Query1.Sql.Add(QuotedStr(Edit1.Text);
Query1.Open;

Como cierras y vuelves a construir la Query te mostrará los datos actuales.

Pones un botón que diga por ejemplo; activar consulta.

También puede hacerse con un filtro.
Código:

MiTabla.Filter:='Nombre =' +QuotedStr(Edit1.Text);
MiTabla.Filtered:=True;

Un Saludo.

lbidi 04-11-2003 15:16:07

Gracias por responder, intentare tu solucion.

Salu2.

jovehe 21-09-2004 20:38:45

perdon una pregunta acerca de este hilo

y si el campo por el que queremos filtrar es un campoo de fecha como podria ser? suponiendo que la fecha se ponga desde un datetimepicker o desde un edit no importa.

espero poder obtener una respuesta y gracias por su ayuda
saludos¡¡

marcoszorrilla 21-09-2004 20:48:10

Para utilizar un filtro con un DateTimePicker este puede ser un ejemplo:
Código Delphi [-]
 procedure TForm1.DateTimePicker1Change(Sender: TObject);
 begin
 Table1.Filter:='Fecha = '+QuotedStr(FormatDateTime('dd/mm/yyyy',DateTimePicker1.date));
 Table1.Filtered:=True;
 end;

Con SQL
Código SQL [-]
 Query1.Close;
 Query1.Sql.Clear;
 Query1.Sql.Add('Select * from Agenda');
 Query1.Sql.Add('Where nombre = ');
 Query1.Sql.Add(QuotedStr(FormatDateTime('mm/dd/yyyy',DateTimePicker1.date)));
 Query1.Open;

Fíjate que con SQL la fecha hay que presentarla mm/dd...

Un Saludo

jovehe 22-09-2004 18:24:07

Que tal

Muchas Gracias por tu pronta respuesta ya probe lo que me contestaste y si funciono te agradezco tu tiempo y hasta pronto.

Saludos¡¡


La franja horaria es GMT +2. Ahora son las 12:30:00.

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