ヘッダーをスキップ
Oracle Database Application Express 2日で開発者ガイド
リリース2.2
B31495-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

2 表形式フォームの作成方法

表形式フォームでは、単一ページから表の複数の行を一度に更新できます。 「表形式フォーム」ウィザードを使用すると、複数行更新プロセスが組み込まれた表形式フォームを作成できます。 この組込みプロセスによって、バックグラウンドでオプティミスティック・ロックが実行され、データの整合性が保持されます。

このチュートリアルでは、新しいアプリケーション内から表形式フォームを作成する方法について説明した後、更新可能ないずれかの列をテキスト・フィールドから選択リストに変更する方法について説明します。 表形式フォームを作成するには、架空の人事部門のデータベース・オブジェクトを作成するスクリプトを実行する必要があります。 「HRデータベース・オブジェクトのインストール」を参照してください。

内容は次のとおりです。

アプリケーションの作成

最初に、「アプリケーションの作成」ウィザードを使用してアプリケーションを作成する必要があります。

「アプリケーションの作成」ウィザードでアプリケーションを作成するには、次のステップを実行します。

  1. 「ホーム」タブをクリックします。

  2. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    「アプリケーション・ビルダー」ホームページが表示されます。

  3. 作成」をクリックします。

  4. アプリケーションの作成」を選択して「次へ」をクリックします。

  5. ページ名を指定します。

    1. 「名前」に、表形式フォーム・アプリケーションと入力します。

    2. 「アプリケーション 」で、デフォルトを受け入れます。

    3. 「アプリケーションの作成」で、「最初から」を選択します。

    4. 「スキーマ」で、デフォルトを受け入れます。

    5. 次へ」をクリックします。

      次に、ページを追加する必要があります。 ここでは、空白ページ、レポート、フォーム、表形式フォームまたはレポートおよびフォームを追加できます。 この演習では、空白ページを追加して表形式フォームを作成します。

  6. 次のステップで空白ページを追加します。

    1. 「ページ・タイプの選択」で、図2-1を示すように、「空白」を選択して「ページの追加」をクリックします。

      図2-1 ページの追加

      図2-1の説明が続きます。
      「図2-1 ページの追加」の説明

      ページ上部のリストに、新しいページが表示されます。

    2. 次へ」をクリックします。

  7. 「タブ」で、デフォルトの「1レベルのタブ」を受け入れて「次へ」をクリックします。

  8. 「別のアプリケーションから共有コンポーネントのコピー」で、デフォルトの「いいえ」を受け入れて「次へ」をクリックします。

  9. 「属性」で、「認証スキーム」、「言語」、「ユーザー言語プリファレンスの派生元」にデフォルトを受け入れて、「次へ」をクリックします。

  10. 「ユーザー・インタフェース」で、「テーマ2」を選択して「次へ」をクリックします。

  11. 選択内容を確認して、「作成」をクリックします。

    「アプリケーション」ホームページが表示されます。

ウィザードを使用した表形式フォームの作成

「表形式フォーム」ウィザードでは、データベース表の複数の行に対して更新、挿入および削除を行うフォームを作成します。 また、更新が失われないように、更新を行う前にMD5チェックサム値を確認する複数行更新プロセスも作成します。 次の演習では、Employees表に表形式フォームを作成します。

「表形式フォーム」ウィザードを使用して表形式フォームを作成するには、次のステップを実行します。

  1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    「アプリケーション・ビルダー」ホームページが表示されます。

  2. 表形式フォーム・アプリケーション」のアイコンをクリックします。

    「アプリケーション」ホームページが表示されます。

  3. ページの作成」をクリックします。

  4. そのページ・タイプに応じて「フォーム」を選択し、「次へ」をクリックします。

  5. 表形式フォーム」を選択して「次へ」をクリックします。

  6. 「表/ビューの所有者」で、次のステップを実行します。

    1. 「表/ビューの所有者」で、デフォルトを受け入れます。

    2. 「実行可能な操作」で、デフォルトの「更新」、「挿入」、「削除」を受け入れます。

    3. 次へ」をクリックします。

  7. 「表/ビューの名前」で、「EMPLOYEES」を選択して「次へ」をクリックします。

  8. 「表示列」で、次のステップを実行します。

    1. 「列の選択」で、[Ctrl]キーを押しながら次の列を選択します。

      FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY, DEPARTMENT_ID
      
      

      注意:

      この演習では、列数を制限して最適な表示画面にしています。 実際のフォームでは、列を追加する必要がある場合があります。

    2. 次へ」をクリックします。

  9. 「主キー」で、デフォルトの「EMPLOYEE_ID (Number)」を受け入れて「次へ」をクリックします。

  10. 「ソース・タイプ」で、デフォルトの「既存のトリガー」を受け入れて「次へ」をクリックします。

  11. 「更新可能な列」で、すべての列を選択して「次へ」をクリックします。

  12. 「ページおよびリージョン属性の指定」で、次のステップを実行します。

    1. 「ページ」で、デフォルトを受け入れます。

    2. 「ページ名」に、表形式フォームと入力します。

    3. 「リージョン・タイトル」で、デフォルトの「表形式フォーム」を受け入れます。

    4. 「リージョン・テンプレート」と「レポート・テンプレート」で、デフォルトを受け入れます。

    5. 「ブレッドクラム」で、デフォルトを受け入れます。

    6. 次へ」をクリックします。

  13. 「タブ」で、デフォルトの「タブを使用しない」を受け入れて「次へ」をクリックします。

  14. 「ボタン・ラベル」で、次のステップを実行します。

    1. 「取消」、「削除」および「行の追加」ボタンのデフォルト値を受け入れます。

    2. 「送信」ボタンに、変更の適用と入力します。

    3. 次へ」をクリックします。

  15. 残りのデフォルトを受け入れて「次へ」をクリックします。

  16. 選択内容を確認して、「終了」をクリックします。

次に、新しいフォームを表示するページを実行します。

ページを実行するには、次のステップを実行します。

  1. 図2-2に示すように、「ページの実行」アイコンをクリックします。

    図2-2 「ページの実行」アイコン

    図2-2の説明が続きます。
    「図2-2「ページの実行」アイコン」の説明

  2. ユーザー名およびパスワードを入力するように要求されたら、作業領域のユーザー名およびパスワードを入力して、「ログイン」をクリックします。

    図2-3に示すように、表形式フォームが表示されます。

    図2-3 表形式フォーム

    図2-3の説明が続きます。
    「図2-3 表形式フォーム」の説明

図2-3に示すとおり、表形式フォームには4つのボタンがあります。 「取消」、「削除」および「変更の適用」が右上に、「行の追加」が右下に表示されます。 また、チェック・ボックスが各行の左側に表示され、1行ずつ選択できます。 列ヘッダーの左側にあるチェック・ボックスを選択することによって、一度にすべての行を選択することもできます。 削除する行を指定するには、同じチェック・ボックスを「削除」ボタンと組み合せて使用します。

「Department Id」列の選択リストへの変更

「表形式フォーム」ウィザードで表形式フォームを作成すると、デフォルトでは、更新可能な列がテキスト・フィールドとして表示されます。 このデフォルト表示は、レポート列属性を編集して変更できます。 次の演習では、「Department Id」列のデフォルト表示を選択リストに変更します。

列のデフォルト表示を選択リストに変更するには、次のステップを実行します。

  1. ページ2のページ定義にナビゲートします。図2-4に示すように、「開発者」ツールバーで「ページ2の編集」をクリックします。

    図2-4 「開発者」ツールバー

    図2-4の説明が続きます。
    「図2-4 「開発者」ツールバー」の説明

  2. 「リージョン」で、「表形式フォーム」の横にある「レポート」をクリックします。

    「レポート属性」ページが表示されます。

    図2-5 「レポート属性」ページの「列属性」

    図2-5の説明が続きます。
    「図2-5 「レポート属性」ページの「列属性」」の説明

  3. 「列属性」で、図2-5に示すように、「DEPARTMENT_ID」列の横にある「編集」アイコンをクリックします。 「編集」アイコンは、鉛筆が付いた小さいページに似ています。

    「列属性」ページが表示されます。 次に、この列のデフォルト表示を選択リストに変更します。

  4. 「表形式フォームの要素」までスクロールします。

  5. 「名前」セクションの「表示形式」リストから、「選択リスト(問合せに基づくLOV)」を選択します。

    次に、問合せを作成します。

  6. 「LOV」までスクロールして、「LOV問合せ」に次のコマンドを入力します。

    SELECT DISTINCT department_id a, department_id b FROM employees
    
    
  7. ページ上部までスクロールして「変更の適用」をクリックします。

  8. ページの右上にある「ページの実行」ボタンをクリックします。

    図2-6に示すとおり、「Department Id」列が選択リストとして表示されます。

    図2-6 選択リストに変更された「Department Id」列がある表形式フォーム

    図2-6の説明が続きます。
    「図2-6 選択リストに変更された「Department Id」列がある表形式フォーム」の説明


注意:

表形式フォームのSQL文のSELECT構文のリストは、生成後、変更しないでください。 変更すると、フォームのデータを変更し、更新を適用したときにチェックサム・エラーが発生します。

次に例を示します。

SELECT first_name FROM employees;

これは、次のようには変更しないでください。

SELECT lower(first_name) FROM employees