Subject Re: [IBO] Recalculating a records fields
Author Helen Borrie
At 10:21 PM 10/07/2007, you wrote:
>Thank you for your response.
> > I think you'll find the method you want is InvalidateRowNum
> > (aRowNum). Pass the IBOQuery's RowNum property as the argument.
>Okay--but .RowNum does not exist for a TIBOQuery. There is
>TIBOQuery.InternalDataset.RowNum--but will that be synced?

It should be available directly to the TIBOBDataset...did you try
it? If it really isn't available, yes, see how you go by referencing
the InternalDataset.RowNum. I know Jason has exposed more and more
of the internal dataset's properties in the tibobdataset in
succeeding versions so your version might be just too old.

>But if I have a large dataset, and a time consuimg OnCalcFields, I
>should be concerned about the number of times it is called. I want the
>application to be responsive, not sluggish.

Then try to use a computed field and also to reduce the range of
master records in your set. Otherwise you are going to be stuck with
potentially row-by-row recalcs - it's the nature of the beast.

Assuming this field is some kind of total, if you don't actually need
to see the contrived value on any rows but the current one, you could
insert a field somewhere on your form, independently of the
data-aware controls, that gets populated in the AfterScroll event of
the master query and/or on demand...