Hola a todos.
Empleo D6 MDO Interbase, Estoy tratando de efectuar unos filtros en una rejilla,

(bueno los filter en MDODataset no se porque no me funcionan).
He modificado las tablas por MDOdataset. Supongamos que un campo fecha
01/12/2005
Código Delphi
[-]
procedure TV_equipo.Filtrar(Sender: TObject);
const
TiposConComillas:set of TfieldType
=[ftstring, ftdate, fttime,ftdatetime];
var
Campo, Operador, Valor, valor2, sino:string;
I:integer;
begin
sino:='';
if sender= migual then
operador:='='
else if sender= mMayorigual then
operador:='>='
else if sender= mMenorigual then
operador:='<='
else
operador:='<>';
Campo:=Rxdbgrid1.SelectedField.FieldName;
if rxdbgrid1.SelectedField.DataType in TiposconComillas then
begin
if rxdbgrid1.SelectedField.DataType=ftdate then
begin
valor:=':tfecha';
valor2:=Rxdbgrid1.SelectedField.AsString end else begin
valor:=quotedstr(Rxdbgrid1.SelectedField.AsString); end;
if (Rxdbgrid1.SelectedField.IsNull) and(rxdbgrid1.SelectedField.DataType<>ftdate)then
begin
valor :='is null'; if operador<>'=' then sino:='NOT '; operador:='' end ;
end else begin
valor:=Rxdbgrid1.SelectedField.AsString ;
for I := 1 to length(valor) do
if valor[i]=DecimalSeparator then Valor[i]:='.';
end ;
if mActivarfiltro.Checked=false then
begin
with DMDatos.Dsetequipos do
begin
Close;
SelectSQL.Clear;
SelectSQL.Add('SELECT * FROM equipos');
SelectSQL.add('WHERE '+sino+ format('%s %s %s',[Campo,Operador,Valor]));
if (rxdbgrid1.SelectedField.DataType=ftdate) and (valor<>'is null') then
DMDatos.Dsetequipos.ParamByName('tfecha').asdate:=strtodate(valor2);
SelectSQL.Add('ORDER BY '+Campo);
Open;
end;
Todo bien menos con las fechas.
Problema con las fechas: como le digo que deseo todas las fechas distinta de la señalada?. Salu2 Kia Gracias (Soy novata con Interbase).
