Re: Oracle Forms 4.0.12.1 "Vertical Scrool Bar

From: troy trimble <troyt_at_sun.com>
Date: 1995/05/12
Message-ID: <3p06nt$kmt_at_theopolis.orl.mmc.com>#1/1


In article atn_at_ixnews3.ix.netcom.com, riceg_at_ix.netcom.com (Greogry Rice) writes:
>Help!
>Oracle support tells me the bars works as designed...scrool bar on a
>block gets a record at a time and not a true scrool. Scrool bar on a
>canvas or window runs at ultra slow speed. I am told 4.0.13 is about
>the same. Did oracle blow it on scrool bars?, or is it a
>programmer/operator problem. If someone could share some light on this
>for me I would appreciate it. Thanks

The scroll bar scrolls those records that have been fetch to the current time in the current query for that block. The scroll bar does not move in relation to the entire set of records that could be fetched by a query until all of the records have been fetched. The scroll bar "jumping" you notice occurs when Oracle fetches the next group of records in the query and repositions the scroll bar so that is relative to the new count of records that have been fetched.

The way to have the scroll bar correspond to all candidate records is to fetch all of them when the query is executed. To do this, create a KEY-EXEQRY trigger containing the statements

	EXECUTE_QUERY;
	LAST_RECORD;
	FIRST_RECORD;

and this will take care of queries in base table blocks. For detail blocks in master-detail relationships, insert LAST_RECORD and FIRST_RECORD after the EXECUTE_QUERY statement in the QUERY_MASTER_DETAILS procedure created when you define the master-detail relationship.

If you have a PL/SQL library module that you link to your forms, you could place the above three statements in a library procedure (I call mine EXECUTE_LIST_QUERY) and replace candidate EXECUTE_QUERY statements with EXECUTE_LIST_QUERY. EXECUTE_LIST_QUERY cannot be defined as a stored procedure, though, since it uses statements known to Oracle Forms but not to the RDBMS.

Later,
TT Received on Fri May 12 1995 - 00:00:00 CEST

Original text of this message