Subject Re: [IBO] Re tib_query 'invalidate calculated fields'
Author Helen Borrie
At 03:22 PM 19-09-01 +0000, you wrote:
>This does not seem to work as I expected.
>
>I have a tib_query with 2 calc fields, which are set up in program.
>I have an on_calculate field routine which says
>if (AField.fieldname = 'avail') then do somthing special.......
>
>and this is fine the first time I open the query.
>
>I later say 'invalidate calculated fields' expecting this to be met
>again but no!

AFAIK, invalidate won't be a correct call for a field that is calculated on the server side.

Have you looked at the CalculateFields methods of TIB_BDataset and TIB_Row? ...call CalculateFields and put your handler code in the OnCalculateField event. In this event you need to be careful to refer to the TIB_Row that is passed in the procedure, e.g.

with ARow do
if ByName('Avail').AsString = 'No" then
Blah...

rgds,
Helen

All for Open and Open for All
InterBase Developer Initiative ยท http://www.interbase2000.org
_______________________________________________________