Re: Forms 5, Summary items TOO SLOW!!!

From: Sean Zhang <>
Date: Mon, 24 May 1999 14:50:24 GMT
Message-ID: <QGd23.1238$>

[Quoted] Thank you very much for your reply.

My last post many be a little confusing, here is more explain:

The summary block has NO Trigger, NO Code. What I did is just set the following:
 <blk>.<Query All Records>="YES"( required for summary block).   <blk>.<Number of Records Displayed>=15   then I made a <display item>--<extented> in the block as a Formular item: :blk.qty * :blk.price,
  then I made a summary item <total> as SUM of <extented> in this block, because I only

   want <total> show once, I set <total>.<Number of Items Displayed>=1.

The Sum Item <total> actaully doesn't get data from server, It instantly changes as user
 edits the Qty/Price and then moves cursor in the client interface (Windows 95). I am
 pretty sure the <total> is not a sum of server data, becasue the user won't save
[Quoted] the changes until he finishes all editing ( maybe a few hundred lines). What happens
 is that when the user gets more lines (rows) in the windows, the time for the cursor
 to leave qty/price after change is longer. I guess the SUM does a recalcution for ALL
 rows even you only change one row a time.

Once again, thank all of you for your help.

>Mark Gumbs <> wrote in message
> Hi,
> Not being able to see your code or your form, i'm guessing at a few things
> here.
> 1.
> Are you populating your summary fields by using a post-query trigger?
> If you are, make sure that the code in the post query trigger is 'tuned'
> uses relevant indexes etc to maximise speed. Also, use an explicit cursor
> in your post-query trigger as opposed to a select ?? into ?? from table
> since this doubles up processing because the trigger fires the query
> once to see if the too_many_rows exception needs to be raised and once for
> the actual query.
> 2.
> Also, have you got some kind of counter in your form like 'Record 1 of
> If so, how are you finding out that you have 200 records? If you use the
> dreaded last_record, get your record count, first record method in your
> block, this will also make your processing slower because post-query is
> fired 200 times! Use count query before interrogating the block.
> 3.
> The first time you return your results, save the first total or totals in
> hidden field. When the user updates something, just subtract the old
> from the hidden field and add the new. This will save interrogating the
> after every user move.
> Hope something from the above helps,
> Mark
Received on Mon May 24 1999 - 16:50:24 CEST

Original text of this message