Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Filtros en ADOTable (https://www.clubdelphi.com/foros/showthread.php?t=63236)

GOG 04-02-2009 19:32:18

Filtros en ADOTable
 
Hola a todos y gracias de antemano. Tengo un problema al querer filtrar una tabla por distintos criterios... La cosa viene así:
trabajando con Delphi6 y una base de datos de Access y componentes ADOTable.
// Tabla: CLICOM
// Comemp: campo de tipo Integer.
// Comcli: campo de tipo Integer.
// Comtip: campo de tipo character.
// variables: filtro1 y filtro2 de tipo string.
----------------------------------------------------------
filtro1:= '[COMCLI] = ' + QuotedStr(IntToStr(codcli)) + ' and ' +
'[COMEMP] = ' + QuotedStr(IntToStr(codemp));

filtro2:= '[COMTIP] = ' + QuotedStr('1A') + ' or ' +
'[COMTIP] = ' + QuotedStr('1B') + ' or ' +
'[COMTIP] = ' + QuotedStr('1 ') + ' or ' +
'[COMTIP] = ' + QuotedStr('3A') + ' or ' +
'[COMTIP] = ' + QuotedStr('3B') + ' or ' +
'[COMTIP] = ' + QuotedStr('3 ') + ' or ' +
'[COMTIP] = ' + QuotedStr('4A') + ' or ' +
'[COMTIP] = ' + QuotedStr('4B') + ' or ' +
'[COMTIP] = ' + QuotedStr('4 ') + ' or ' +
'[COMTIP] = ' + QuotedStr('9A') + ' or ' +
'[COMTIP] = ' + QuotedStr('9B') + ' or ' +
'[COMTIP] = ' + QuotedStr('9 ');

filtro:= ((Filtro1) + ' and ' + (Filtro2));
Clicom.Filtered:= false;
Clicom.Filter:= filtro;
Clicom.Filtered:= true;
---------------------------------------------------------
Cuando lo ejecuto, me dá error...
Nuevamente gracias.

CoCaInE 04-02-2009 20:20:09

Saludos
 
Creo que te seria mas facil utilizando un Adoquery eh introducirles sentencias Sql.. es mas limpio y efectivo
Ej: AdoQuery1.close;
Adoquery1.sql.clear;
Adoquery1.sql.add('select * from Table where Campo=:Filtro');
Adoquery1.parambyname('Filtro').value:=Edit1.text;
Adoquery.open;

De todas maneras en el foro hay bastante informacion complementaria sobre el particular gracias


La franja horaria es GMT +2. Ahora son las 09:31:35.

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