Subject Re: [IBO] IB_Query.Filter and Filtered
Author Daniel Rail
Hi,

> Hi,
> suppose, there is IB_Query, opened and all records are fetched. Now assign
> the

Are you sure that all the records are fetched. Usually after
IB_Query.Open, not all records are fetched from the server. The BDE
fetches all of the records and stores them in its buffer, but not
IBO(in some cases it might be possible, but I don't know the logic
behind that code).

Out of curiosity, how long does it take to open your query? And, how
many records are in the result set?

> IB_Query.Filter := 'some filter';
> IB_Query.Filtered := true;

> and every time you do this an SQL 'SELECT ....' is issued against the
> database. I supposed that this filtering is done on the client...

This is because it can happen that not all records are in the IBO
local buffers. So, in order to actually satisfy the filter, another
SELECT has to be performed with the filter appended to the WHERE
clause.

> Is there any way to filter records on the client simply and quickly? I do
> not want to issue extra SQL queries on the slow internet line.

Load you data in memory tables in the client application.

Daniel Rail
Senior System Engineer
ACCRA Group Inc. (www.accra.ca)
ACCRA Med Software Inc. (www.accramed.ca)