Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   filtrar registros en delphi (https://www.clubdelphi.com/foros/showthread.php?t=93366)

ecfisa 27-09-2018 03:30:16

Hola.
Cita:

Empezado por the walrus (Mensaje 528627)
tengo una duda tdataset es un adodataset

TDataSet es la clase base para todos los componentes de acceso a datos: TDataSet.

Es decir que cualquiera (o todas) de las siguientes asignaciones son válidas:
Código Delphi [-]
...
var
  DS : TDataSet;
begin
  // BDE
  DS := Query1;
  DS := Table1;
  // ADO
  DS := ADOQuery1;
  DS := ADOTable1;
  // IBX
  DS := IBQuery1;
  DS := IBDataSet1;
  // dbExpress
  DS := SQLQuery1;
  DS := SQLTable1;
  ...


Saludos :)

Casimiro Notevi 27-09-2018 10:04:22

Más claro, imposible ^\||/

ElDioni 27-09-2018 15:57:57

Hola,


en otro hilo ya se estuvo comentando como hacer consultas a los datos de una hoja excel. Puede que el filter te funcione si lo cambias y lo pones de la siguiente manera.


Código Delphi [-]
Adoquery1.Filtered:=false;
Adoquery1.Filter:='[Hoja1$].[Nombre] LIKE '+quotedstr(Edit1.Text+'%');
Adoquery1.Filtered:=true;


Saludos.

the walrus 28-09-2018 01:43:31

Cita:

Empezado por ecfisa (Mensaje 528628)
Hola.


TDataSet es la clase base para todos los componentes de acceso a datos: TDataSet.

Es decir que cualquiera (o todas) de las siguientes asignaciones son válidas:
Código Delphi [-]
...
var
  DS : TDataSet;
begin
  // BDE
  DS := Query1;
  DS := Table1;
  // ADO
  DS := ADOQuery1;
  DS := ADOTable1;
  // IBX
  DS := IBQuery1;
  DS := IBDataSet1;
  // dbExpress
  DS := SQLQuery1;
  DS := SQLTable1;
  ...


Saludos :)

si, gracias por el concepto y el material
tengo un pequeño problema se trata de filtrar registros mi problema es el siguiente cuando escribo una letra en el edit1 por ejemplo la letra 'c' me muestra los registros con la letra c pero cuando borro la letra del edit1 la grilla no me muestra todos los registros el código que uso es este
Código Delphi [-]
begin
  if Edit1.Text > '' then
  begin
     datasource.DataSet.Filtered := false;
     datasource.DataSet.Filter := 'nombre like '+ QuotedStr(edit1.text+'%');
     datasource.DataSet.Filtered := true;
  end;


end;
en este caso estoy intentando filtrar registros de tres tablas
Cita:

Empezado por Casimiro Notevi (Mensaje 528630)
Más claro, imposible ^\||/

(y)
Cita:

Empezado por ElDioni (Mensaje 528642)
Hola,


en otro hilo ya se estuvo comentando como hacer consultas a los datos de una hoja excel. Puede que el filter te funcione si lo cambias y lo pones de la siguiente manera.


Código Delphi [-]
Adoquery1.Filtered:=false;
Adoquery1.Filter:='[Hoja1$].[Nombre] LIKE '+quotedstr(Edit1.Text+'%');
Adoquery1.Filtered:=true;


Saludos.

cambie de gestor de base de datos ahora uso MS ACCESS

Casimiro Notevi 28-09-2018 09:35:31

A ver si te aclaras.

ElDioni 28-09-2018 15:00:47

Cita:

Empezado por the walrus (Mensaje 528659)
si, gracias por el concepto y el material
tengo un pequeño problema se trata de filtrar registros mi problema es el siguiente cuando escribo una letra en el edit1 por ejemplo la letra 'c' me muestra los registros con la letra c pero cuando borro la letra del edit1 la grilla no me muestra todos los registros el código que uso es este
Código Delphi [-]
begin   
if Edit1.Text <> '' then   
  begin      
    datasource.DataSet.Filtered := false;      
    datasource.DataSet.Filter := 'nombre like '+ QuotedStr(edit1.text+'%');      
    datasource.DataSet.Filtered := true;   
  end;   
end;

en este caso estoy intentando filtrar registros de tres tablas

(y)

cambie de gestor de base de datos ahora uso MS ACCESS


Para que te vuelva a mostrar todos los registros:



Código Delphi [-]

datasource.DataSet.Filtered := false;
if Edit1.Text <> '' then   
  begin            
    datasource.DataSet.Filter := 'nombre like '+ QuotedStr(edit1.text+'%');      
    datasource.DataSet.Filtered := true;   
  end;

Casimiro Notevi 28-09-2018 17:29:48

Buena aclaración :)

the walrus 01-10-2018 23:00:12

funciono gracias por su ayuda


La franja horaria es GMT +2. Ahora son las 00:42:46.

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