Subject Re: [IBO] New sub-release 3.6 Ca filter
Author Jason Wharton
> > According to the BDE filter syntax, you need to put square brackets
> > around this (I think anyway).
> >
> > Try this and see if it works:
> >
> > [f_striptime(datum)] between '09/01/2000' and '12/08/2000'
> >
> > You should also avoid using double quote chars since these denote
> > identifiers, not data.
> >
> > If the square brackets don't work, I'm going to have to figure something
> > else out. I designed it to work with a plain column name, not a UDF
> > around a column name.
> >
> > I may regret opening up this can of worms yet.... <g>

> [f_striptime(datum)] between '09/01/2000' and '12/08/2000'
> this doesn't work either
>
> but
>
> datum between '09/01/2000' and '12/08/2000'
> does work !

Here's a quick hack that will make my idea work:

I'm assuming you have full source and thus IB_Parse.pas. Near line #4330

function GetNextToken( var AStr: string; WantIdent: boolean ):string;
var
ii: integer;
tmpPos: integer;
lit1, lit2: boolean;
begin
if AStr = '' then Exit;
if WantIdent and ( AStr[1] = '[' ) then
begin
tmpPos := getLitSafePos( ']', AStr, 1 );
if tmpPos > 0 then
begin
Result := Copy( AStr, 2, tmpPos - 2 );
Delete( AStr, 1, tmpPos );
AStr := Trim( AStr );
Exit;
end;
end;
...

This will make it recognize the square brackets like I intended for it to do
and indicated that it should.

I am right now making it so that the square brackets are unnecessary.

Regards,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com