Forms 4.5 Query Question

From: Tom Mettlling <mettling_at_erols.com>
Date: 1996/09/25
Message-ID: <32498F81.6B66_at_erols.com>#1/1


I'm using Forms 4.5 to query a document database with 7 tables. In order to be able to query all the fields, I created a view which joins all the tables. The queries themselves are fast, but since several of the detail tables have a lot (> 100) detail records, it retrieves a lot of rows. To view the records with all their repeats, I create a temp table with just the docno (key field) and call another form which contains blocks for all the tables, using the following procedure:

PROCEDURE temptable IS

current_docno	varchar2(15);
previous_docno	varchar2(15);
counter	number;

BEGIN
delete from temptable;

current_docno := :docno;

LOOP   If current_docno <> Previous_docno THEN     insert into temptable (DOCNO) values (:docno);     counter := counter + 1;
  END IF; exit when :system.last_record = 'TRUE';
previous_docno := current_docno;
next_record;
current_docno := :docno;

END LOOP; open_FORM('C:\ORAWIN\A_FORMS\Test1.FMX',activate);

END; This takes forever, even if the end result is only 100 records or so, and then it takes a few minutes when I return to the query screen to start a new query.

My questions are:

  1. Is there a way to query all 7 blocks, and getting rid of the two forms?
  2. If not, is there a way to speed up my procedure above?

Sorry for the long post.

Thanks,

Tom Received on Wed Sep 25 1996 - 00:00:00 CEST

Original text of this message