2016-10-20 7 views
1

私は学生が求人情報を検索できるようにするモバイル・アプリケーションを開発しています。私は、ウィザードを使用してリストビューでフォームを作成しました。リストビューには、締め切り日を過ぎていない役職のみが表示されます(利用可能な仕事)Oracle Apexのページ間で値を渡す

職種がクリックされると、それは学生がさらなる仕事の詳細を見ることができる形式にリダイレクトされます。これらの値は、ウィザードによって自動的に渡されます。

この全体的なことは素晴らしいですが、私は3つのテーブルから情報が必要ですが、ウィザードはそれで私を助けません。

私は、SQLクエリとSQLクエリに基づくフォームに基づいてリストビューを作成しました。私はリストビューからフォームビューに値を渡す自動フェッチプロセスを作成しようとしましたが、何も試したことがありませんでした。ウィザードで作成されたフォームを慎重に分析して、それがどのように実行されたかを確認しましたが、何も私のためには機能しませんでした。参照このため

は、私がリストビューのために使用されるSQLコードである(そしてそれは、where句を除いて、フォームビューで同じです)

 T1.JOB_TITLE, 
     T1.SALARY, 
     T1.JOB_DESCRIPTION, 
     T1.START_DATE, 
     T1.CLOSING_DATE, 
     T1.METHOD_ID, 
     T3.METHOD_NAME, 
     T1.SITE_ID, 
     T2.CITY, 
     T2.ADDRESS_FIRST_LINE, 
     T2.EMAIL, 
     T2.COMPANY_NAME 

FROM JOB T1 

JOIN SITE T2 ON (T2.SITE_ID = T1.SITE_ID) 

JOIN APPLICATION_METHOD T3 ON (T3.METHOD_ID = T1.METHOD_ID) 
Where (T1.Closing_Date >(Select Current_Date from dual)) 

答えて

2

は本当にあなたがこれを解決することができ、2つの方法があります

1)フォーム・ページに必要な値を渡すだけで、フォーム・リージョンの値を編集し、「Link Target」属性を開くことができます(これはAPEX 5 Page Designerを使用していることを前提としています)。そこでは、フォームページの項目に複数の値を渡すことができます。

2)これらの値をフォーム・ページで派生させる必要がある場合は、フォーム・ページにAfter Headerプロセスを追加し、このプロセスでPL/SQLを使用して他のテーブルからルックアップを行います。バインド変数の構文を使用して項目を参照し、セッション状態を更新できます。たとえば、

begin 
    for c1 in (select val1, val2 from my_other_table where id = :P3_ID) loop 
     :P3_ITEM1 := c1.val1; 
     :P3_ITEM2 := c1.val2; 
     exit; 
    end loop; 
end; 
1

さらに多くのアイテムを追加し、項目属性(ソース)から単一の行を返すSqlクエリを選択することで、追加の列を追加することができました。むしろ、私はこのコードを使用し、エンドユーザーのために無関係だろうIDよりもMETHOD_NAMEを得るためにそう

SELECT METHOD_NAME FROM APPLICATION_METHOD 
WHERE (METHOD_ID = :P3_METHOD_ID) 

私はあなたが持っている場合、それは素晴らしい解決策ではないかもしれないことをかなり確信しています多くの列を通過する必要がありますが、いくつかの列を追加して理解して実装するのは簡単でした。

関連する問題