1

学生が求人に応募できるようにし、管理者がすべてのやり取りを確認できるようにする APEX アプリケーションを作成しています。すべての学生のアプリケーションを表示するページを作成したいと考えています。

まず、関連するテーブルのデータベース スキーマを次に示します。 ここに画像の説明を入力

フルサイズのリンク: http://i.stack.imgur.com/QU1Pr.png

学生のリストを含むレポートがあり、[View Applications] 列を追加しました。「アプリケーションの表示」列をリンク可能にして、新しいページに移動します。問題は、管理者が現在調べている学生のすべてのアプリケーションを表示する方法がわからないことです。

私が考えることができる唯一の方法は、RECORD_NUMBER(テーブルの PK students) を新しいページに渡し、それを使用して SQL を実行し、返されたものをページ フィールドに入力することです。しかし、私はそれを行う方法がわかりません。SQL で使用する値を取得する方法がRECORD_NUMBERわかりません。また、SQL によって返された値をフォーム フィールドに入力する方法もわかりません。

どんな助けでも大歓迎です。

4

2 に答える 2

2

つまり、申請書と申請した学生を一覧表示する1つのページがあります。そのページを1と呼びます。あなたが何をしようとしているのか理解できれば、レポートと非表示のページアイテムを含むページ2を作成できます。ページアイテムP2_RECORD_NUMBERを呼び出します。

クエリを使用してレポートを作成します。

SELECT *
  FROM tbl_jobs j
 INNER JOIN tbl_applications a on a.job_id = j.id
 INNER JOIN tbl_students s ON s.record_number = j.record_number
 WHERE s.record_number = :P2_RECORD_NUMBER

次に、1ページのリンクを編集して、2ページを指し、ユーザーがクリックした行のrecord_numberをP2_RECORD_NUMBERに入力します。目の前にApexはありませんが、その列のレポート属性を編集することでそれができると思います。また、フォームのURLを使用することもできますhttp://site.com/f?p=<APP_ID>:<PAGE_ID>:0::::P2_RECORD_NUMBER:<record_number>。(私はメモリからそれを行っており、コロンの数が間違っている可能性があります。)

上記のクエリが行を返さない場合に備えて、デフォルトのテキストを配置することもできます。

于 2012-12-01T18:16:27.007 に答える
1

管理者用の新しいページを作成し、次のようなクエリを入力するだけです

SELECT *
  FROM tbl_students s
  JOIN tbl_applications a USING (record_number)
  JOIN tbl_jobs j ON a.job_id = j.id

クエリを追加する場所を知っていますか?

于 2012-12-01T17:39:52.097 に答える